简介
Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。
导入
1 | @import "reset.css"; // css |
变量
1 | // 普通变量 |
插值
插值使用 #{}
1 | // Variables |
跳出嵌套
@at-root (without: rule| all | media)
1 | // 跳出普通的嵌套 |
混合(mixin)
使用 @mixin 声明混合,可以传递参数,参数名以$符号开始,多个参数以逗号分开,也可以给参数设置默认值。 @mixin 通过 @include 来调用。 混合器中不仅可以包含属性,也可以包含 css 规则,包含选择器和选择器中的属性,也可以使用 & 上下文。
为便于书写,@mixin 可以用 = 表示,而 @include 可以用 + 表示
1 | // 无参数 |
@Content
@content 它可以使 @mixin 接受一整块样式,接受的样式从 @content 开始。
1 | @mixin max-screen($res) { |
继承
选择器继承可以让选择器继承另一个选择器的所有样式,并联合声明。使用选择器的继承,要使用关键词 @extend,后面紧跟需要继承的选择器。 继承可以继承默认的元素属性,比如让一个div继承a,那么这 div 看起来就好像 a 一样。
1 | // 继承现有的标签,或类 |
占位选择器%
可以定义占位选择器 %,如果不调用则不会有任何多余的 css 代码。
1 | %block { |
函数
sass定义了很多函数可供使用,当然你也可以自己定义函数,以@fuction开始。
使用最多的是颜色函数: 颜色函数中又以 lighten 减淡和 darken 加深为最, 其调用方法为 lighten($color, $amount) 和 darken($color, $amount) 它们的第一个参数都是颜色值,第二个参数都是百分比。
1 | @function pxToRem($px) { |
@if判断
@if 可一个条件单独使用,也可以和 @else 结合多条件使用
1 | $big: false; |
三目判断
语法为:if($condition, $if_true, $if_false) 。三个参数分别表示:条件,条件为真的值,条件为假的值。
1 | $min: 20; |
for循环
for 循环有两种形式,分别为:@for $var from [start] through [end] 和 @for $var from [start] to [end]。 关键字through表示包括end这个数,而to则不包括end这个数。
1 | @for $i from 1 through 3 { |
@each 循环
语法为:@each $var in [list or map]
1 | $headings: (h1: 2em, h2: 1.5em, h3: 1.2em); |