1.变量
在Sass
中使用$
符号定义变量。
$defaultColor: #fff;
在sass
可以直接使用变量:
$defaultColor: #fff;
body {
background:$defaultColor; //编译后#fff
}
注意,sass
也有变量作用域,如果你在一个选择器内部定义了一个变量,那么它只在这个选择器内部生效。
$defaultColor: #fff;
body {
$defaultColor: #ccc;
background:$defaultColor; //编译后#ccc
}
a{
color:$defalutColor;//编译后#fff
}
但是可以通过!global
定义全局变量
$defaultColor: #fff;
body {
$defaultColor: #ccc !globa;
background:$defaultColor; //编译后#ccc
}
a{
color:$defalutColor;//编译后#ccc
}
2.函数
在sass
中,通过@function
定义函数,通过@return
返回值,不返回样式。
(1)内置函数
官网函数列表
(2)自定义函数
创建一个px
转rem
得函数
@function pxToRem($px){ //$px为需要转换的字号
@return $px / 100px * 1rem; //100px为根字体大小
}
a{
font-size:pxToRem(16px);
height:pxTorem(20px)
}
编译后
a{
font-size:0.16rem;
height:0.2rem;
}
3.语法技巧
(1) 多层嵌套
body{
color: black;
div {
color: red;
span{
display:block;
}
}
}
编译后
body{
color:black;
}
body div{
color:red;
}
body div span{
display:block;
}
(2) 属性嵌套
a{
font: {
size: 12px;
weight: bold;
}
}
编译后
a{
font-size:12px;
font-weight:bold;
}
(3) &符号的使用
在Sass
中,&
表示父元素。
button {
&:hover { color: red; }
}
.main {
&-header { color: bule; }
}
编译后
button:hover{
color:red;
}
.main-header{
color:blue;
}
4.运算
Sass
支持数字的加减乘除、取余运算 (+, -, *, /, %)
, 关系运算<, >, <=, >=
以及相等运算==, !=
。
a{
font-size:(12px/16px);
height:10px + 20px;
}
编译后
a{
font-size:0.75px;
height:30px;
}
注意:由于原生css语法中就有使用/
的地方,所以在sass
只有以下情况视为除法运算
- 值被圆括号包括
( 10px / 20px)
- 属于算数表达式的一部分
(10px + 20px/40px)
- 如果有一个值是变量或函数
$hight/10
-
sass
中+
也可以做字符串拼接