sass基本使用
注意:sass有两种文件格式,同时也是两种不同的语法体系,默认使用.scss
的语法!
基本操作
变量声明
形式为:$ + 变量名: value;
,值可以是css的任意属性值(包括各种颜色);如:
1 | $blue: #3399ff; |
需要注意的是属性值不必加引号!值还可以定义为列表(list
)或映射(map
)的形式,形成多值,可以按照索引进行取用,如:
1 | $color: #ff3366 #66ff99 #6699ff; |
利用nth
函数对变量进行指定索引的取值,索引从1开始;(当一些css属性值本身就是多个值用空格断开的时候,是否也可以把其当做列表?)
注释
sass中有两种注释风格,一种就是css中使用的那种/* */
,另一种就是单行注释//
(单行注释不会编译到css文件中);
导入
在scss文件中可以导入工程内的其它scss文件(包括带_
的文件),语法为:
1 | @import ('someFile'); |
导入文件时不需要添加scss文件的后缀,也不需要添加_
(若是以下划线_
开头的文件);导入后,就相当于把导入的文件中所有内容都添加到当前文件中!
嵌套
在sass中代码可以嵌套,即在一个选择器内部再嵌入子选择器(最后并非一定是父子关系,但通常是这么做的);如:
1 | nav { |
编译成正常css为:
1 | nav ul { |
&符号
在嵌套的时候,有一个特殊符号&
代表该级选择器的父选择器(即嵌套的上一层选择器),如:
1 | a{ |
编译后的代码为:
1 | a { |
扩展/继承
通过@extend
继承任何已定义的选择器样式(貌似与先后顺序无关,即前面定义的样式可以继承后面定义的样式),如:
1 | #div1{ |
占位符
可以通过占位符%
的形式来定义一个专门用来被继承的基础样式选择器,如:
1 | %box{ |
通过%
定义的占位符选择器,只会在被继承使用的地方进行编译,本身并不会单独的编译成css代码!即如果没有一个选择器继承使用该占位符选择器的样式,该占位符选择器的内容是不会被编译的。
混合宏(mixin)
混合宏有点类似于函数,可接受一组参数(当然也可以定义无参数的),然后返回一段css代码,如:
1 | @mixin box($style){ |
然后可以通过@include
命令来引用定义的混合宏:
1 | #box{ |
编译后为:
1 | #box { |