美文网首页
SCSS的学习和使用

SCSS的学习和使用

作者: 小热呀丶 | 来源:发表于2019-08-15 15:39 被阅读0次

介绍

SASS是最早的css预处理语言之一。
为了适应编程风格的需求,sass在编程风格上做了一些修改,现在称之为SCSS。
SCSS增加了一些新的功能,增强了对css3的支持,其语法完全兼容CSS3,并且继承了sass的强大功能。
任何标准的css3样式表都是具有相同语义的有效的scss文件。另外,SCSS还能识别大部分css hacks和特定于浏览器的语法,例如:古老的IE filter。由于SCSS是CSS的扩展,因此,所有在css中工作的代码也能在scss中正常工作。
现在学习scss完全没有必要关注以前sass的规则。

$nav-color: #F90;
nav {
  $width: 100px;
  width: $width;
  color: $nav-color;
}
// 编译过后
nav {
  width: 100px;
  color: #F90;
}

变量

变量的声明

使用$符号可以标识一个变量,代码如下:

$width

$width: 100px;

$basic-border: 1px solid black;

以前都是用!来标识一个变量,之所以改成$符号,是因为比较美观- -!

变量的引用
$highlight-color: red;
.selected {
  border: 1px solid $highlight-color;
}
/* 编译过后 */
.selected {
  border: 1px solid red;
}
  • 当然在声明变量的时候,也可以引用其他的变量
$highlight-color: red;
$highlight-border: 1px solid $highlight-color;
.selected {
  border: $highlight-border;
}
/* 编译过后 */
.selected {
  border: 1px solid red;
}
  • 在SCSS中,变量分隔符-跟_其实是等同的,如:
$ground-color: red;
.selected{
  border: $ground_color;
}
/* 编译过后 */
.selected{
  border: red;
}
作用域

SCSS中,变量具有两种作用域类型:
(1).全局作用域。
(2).局部作用域。
默认情况下,定义在选择器之内的变量为局部变量,定义在选择器之外的为全局变量。

$bg-color: green;
## 正常 $bg-color 是一个全局变量,所以在下面可以应用到
div{
  $border-width:5px;
  color:$bg-color;
  border:$border-width solid red;
}
## 会报错,$border-width属于局部变量,而p中是引用不到的
p{
  border:$border-width solid red;
}
  • 全局变量和局部变量也可以是同名的,不过局部变量会覆盖全局变量,如下:
$text-color:red;
@mixin button-style {
  $text-color: lime;
  color: $text-color;
}
@mixin link-style {
  $text-color: black;
  color: $text-color;
}
button {
  @include button-style;
}
a {
  @include link-style;
}
.wrap {
  background: $text-color;
}
/* 编译过后 */
button {
  color: lime; 
}
a {
  color: black; 
}
.wrap {
  background: red; 
}
  • 当然你也可以用!global关键字来改变变量的作用域
@mixin button-style {
  $btn-bg-color: lightblue !global;
  color: $btn-bg-color;
}
button {
  @include button-style;
}
.wrap {
  background: $btn-bg-color;
}
/* 编译过后 */
button {
  color: lightblue; 
}
.wrap {
  background: lightblue; 
}
默认值

在变量赋值之前, 利用!default为变量指定默认值。
也就是说,如果在此之前变量已经赋值,那就不使用默认值,如果没有赋值,则使用默认值。

$content: "hi" !default;
.main {
  content: $content;
}

## 编译之后
.main {
  content: "hi"; 
}
$content:"hello";
$content: "hi" !default;
.main {
  content: $content;
}

## 编译之后
.main {
  content: "hello"; 
}

相关文章

  • SCSS的学习和使用

    介绍 SASS是最早的css预处理语言之一。为了适应编程风格的需求,sass在编程风格上做了一些修改,现在称之为S...

  • vue_cli3手动安装scss

    安装和使用 这时候安装完就可以在组件中使用scss了。 引入SCSS全局变量 _variable.scss 如果想...

  • Module build failed: TypeError:

    解决方法和原因如下 当我在vue页面使用scss 使用到scss时候就会报错 运行scss的依赖都安装好了 npm...

  • element-ui替换主题色介绍

    一 :在项目中改变 SCSS 变量1、element-ui的主题包是使用scss编写,如果项目也使用scss,可以...

  • uniapp开发总结

    CSS样式 推荐使用scss 学习地址:https://www.sass.hk/ 学习地址:http://www....

  • 在Vue中如何修改v-html中的样式

    css中使用>>> scss中使用::v-deep 1. css 2. scss

  • vue 使用less或scss

    less,scss和stylus都是css的预处理器,首先我们要明白我们为什么要使用less,scss和stylu...

  • Scss 的使用和语法

    scss 的使用和语法 前言 前面介绍了 scss 的安装过程,相信大家都已经成功了,那先接下来我来介绍一下 sc...

  • Vue

    Vue 参考文章链接:vue .scss和.css相比较有很大的优势,其中一个就是可以...

  • element五 项目搭建和技术选型

    一、使用scss 3. 设置默认scss在main.js中加入import './assets/scss/rese...

网友评论

      本文标题:SCSS的学习和使用

      本文链接:https://www.haomeiwen.com/subject/nvqxlctx.html