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 {  |