一、什么是sass

Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的根底上减少了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级性能,提供了许多便当的写法,大大提高的开发效率。上面总结了SASS的次要用法,想要理解更多能够查阅文档

二、装置

1、因为sass依赖于Ruby,因而须要先装置Ruby,而后执行gem install sass
2、若在vue-cli或react-create-app中应用,在我的项目中装置依赖:

npm install node-sass --save-devnpm install sass-loader --save-dev

三、根底用法

3.1 变量

SASS容许应用变量,所有变量以$结尾

$color: #ccc;div {  color: $color;}

如果变量须要镶嵌在属性中之中,就必须须要写在#{}之中

$side: right;div {    border-#{$side}-radius: 10px;}

3.2 计算能力

SASS容许在代码中应用算式

$var: 10px;div {  width:(20px/2);  top: 10px + 20px;  left: $var * 2}

3.3 嵌套能力

个别咱们写多个选择器时,个别这样:

div h2 {  border:1px solid #ccc;}

应用sass能够写成:

div {  h2 {    border:1px solid #ccc;  }}

属性也能够嵌套,比方font-size属性,能够写成

div {  font:{    size:18px;  }}

能够应用&援用父元素

div { &::after { }}

四、代码重用

4.1 继承

SASS容许一个选择器,继承另一个选择器

.class1 {   color: #ccc;}

如果要继承class1,须要应用@extend命令

.class2 {  @extend .class1;  font-size: 18px;}

4.2 Mixin(混合)

应用@mixin申明代码块,达到重用代码块的作用,在须要用的中央应用@include调用

@mixin right { margin-right: 20px;}div {  @include right;}

@minxin能够设置参数以及参数默认值

@mixin left($value: 20px) {  margin-left: $value;}div {  @include left(10px)}

4.3 色彩函数

 lighten(#cc3, 10%) // #d6d65c   darken(#cc3, 10%) // #a3a329   grayscale(#cc3) // #808080   complement(#cc3) // #33c

4.4 引入文件

应用@import命令,用来引入内部文件
@import 文件门路

五、进阶用法

5.1 条件语句

div {  @if computed($width) > 10 { width: 10% }  @if computed($height) > 10 {    height: 10px;  } @else {    height: 20px;  }}

5.2 循环语句

for循环:

@for $i from 1 to 10 {   .content-#{$i} {      width: #{$i}px;   }  }

while循环:

 $x: 6;  @while $x > 0 {      .item-#{$x} { width: $x + 10px; }      $x: $x - 1;    }z

each:

@each $member in a, b, c, d {   .#{$member} {      background-image: url("/image/#{$member}.jpg");   }  }

自定义函数

 @function count($n) {      @return $n + 1;    }  div {      width: count(5px);    }