变量
sass中可以定义变量,方便统一修改和维护1
2
3
4
5
6
7$fontStack: Helvetica, sans-serif;
$primaryColor: #333;
body {
  font-family: $fontStack;
  color: $primaryColor;
}
转换成:
| 1 | body { | 
嵌套
sass可以进行选择器的嵌套,表示层级关系,看起来很优雅整齐1
2
3
4
5
6
7
8
9
10
11nav {
  background: red;
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
    li {
      display: inline-block;
    }
  }
}
转换成:
| 1 | nav { | 
导入
sass中如导入其他sass文件,最后编译为一个css文件,优于纯css的@import1
2
3
4
5
6
7
8
9
10
11
12
13
14
15_reset.css如下:
html,
body,
ul,
ol {
   margin: 0;
   padding: 0;
}
base.css如下:
@import 'reset';
body {
  font-size: 100% Helvetica, sans-serif;
  background-color: #efefef;
}
转换后:
| 1 | html, body, ul, ol { | 
mixin混合
sass中可用mixin定义一些代码片段,且可传参数,方便日后根据需求调用。从此处理css3的前缀兼容轻松便捷。
适用于css3加厂商前缀、加背景图、设置宽高等1
2
3
4
5
6
7
8
9@mixin box-sizing ($sizing) {
  -webkit-box-sizing:$sizing;     
  -moz-box-sizing:$sizing;
  box-sizing:$sizing;
}
.box-border{
  border:1px solid #ccc;
  @include box-sizing(border-box);
}
转换成:
| 1 | .box-border { | 
扩展/继承
sass可通过@extend来实现代码组合声明,使代码更加优越简洁。1
2
3
4
5
6
7
8
9.message {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
}
.success {
  @extend .message; //表示公用message的样式
  border-color: green;
}
转换成:
| 1 | .message, .success { | 
运算
sass可进行简单的加减乘除运算等1
2
3article {
  width: 600px / 960px * 100%;
}
转换成:
| 1 | article{ | 
##颜色
sass中集成了大量的颜色函数,让变换颜色更加简单1
2
3
4
5
6
7
8$linkColor: #08c;
a {
  text-decoration:none;
  color:$linkColor;
  &:hover{
    color:darken($linkColor,10%);
  }
}
转换成:
| 1 | a { |