我们继续上一次课的内容,继续学习。
一、嵌套属性对于同一个选择器下,相同的属性名称,我们可以提取出来。例如:
.nav{
border:1px solid #000;
border-left: 0;
border-right: 0;
}
可以写成
.nav{
border:1px solid #000{
left:0;
right: 0;
}
}
可以发现,编译后的css文件四一模一样的。
可以把它想象成是,有名字的、定义好的样式
可以在任何地方,重复使用,可以把它当作是JS的函数
你可以使用使用@符号定义它,例如:
@mixin 名字(参数1,参数2){
...
}
mixin 可以嵌套使用变量,子样式、或者其他mixin 例如:
@mixin alert {
color: #8a8a8a;
background-color: #fcf8e3;
@include test;
a{
color: green($color: #000000);
@include test;
}
}
@mixin test {
font-weight: 15px;
}
.alert-waring{
@include alert;
}
第一:我们首先定义了一个alert,然后在里边添加了一些样式,
第二:我们引入了另外的一个mixin
第三:我们在alert这个mixin下,又定义了一个a的样式。接下来我们看看会编译成什么样子darken(参数1,参数2)
参数1:要加深的颜色 参数2:百分比加深多少默认我们调用mixin的时候,参数需要对应。
但是当我们指定参数的时候,就可以不用对应。例如:
注意:指定参数的时候需要使用 : 号 来紧跟对应的值
在Sass中我们可以使用@extend来减少重复的动作
继承相当于把继承类的类名换成当前类的类名。并且样式是继承类的样式。
简单来说,就是我把你的变成我们共同的。
当我们使用@extend继承的时候,右边编译后的css文件会出现群组选择器。它们会同时拥有在群组选择器里边的样式。
Partials文件名要以 _ (下划线开头)
那么如何引入Partials文件呢?
在文章开头,我们使用 @import + “文件名;” 的方式即可,
不需要写下划线,也不需要写扩展名,在同级目录下不需要写路径
会在编译输出的结果中保留 但在压缩方式的编译情况下会去掉
/*
这是多行注释
天王盖地虎
*/
5.2、单行注释
不会出现在编译输出之后的文件里面。
//这是单行注释
5.3、强制注释
这样注释的内容,会一直出现在css里边
/*!这是强制注释*/
六、Data Type
在命令行中我们输入 sass -i
这是sass提供的交互功能,在这之后你输入的内容回车之后会立刻看到结果。
在sass交互模式下,试一下数字的运算
带引号:可以包含空格,和一些其他特殊字符
不带引号:不能有空格
+ 号 - 号 / 号 都可以连接字符串
>> "ning" + hao
"ninghao"
>> ning + "hao"
"ninghao"