赞
踩
3 sass规则
5. 注释规则
因为大家安装的版本不一样,所以有的同学写中文注释可能会报错或者乱码
在这里不要出现中文,容易有坑!
/**/ CSS的注释方式,sass中是可以使用的,并且可以编译到CSS文件中
6. 嵌套规则
要按照HTML结构的嵌套关系,在scss文件中使用{ }嵌套着来写选择器
这样编译的时候就会按照嵌套的结果编译生成对应的CSS
好处:结构非常清晰,不用写很多选择器,还不用计算权重值的问题
易错点:
7. 编译路径是否是scss与css文件的上层文件夹test
8. 出现的路径中不要出现中文
9. 编译的过程受电脑性能的影响,有的电脑编译的比较快,有的慢,这个很正常
10. 如果两次测试不行,建议把cmd窗口关闭,重新再监听一次
4 sass的基本语法
为什么要用变量?有什么作用?
比如企业需要设置主题色,比如京东红,假设改版时需要将企业色更换,这时只需要改一个颜色的变量值就可以改掉全局的颜色,无需大量更改了
全局变量与局部变量
全局变量是直接写在scss文件中的,而局部变量是写在某个选择器{}中的
注意:变量在哪里声明,就在哪里使用,局部变量不可以被其它的外部选择器使用
变量的加载和读取顺序
必须要先定义变量,才能使用变量,否则会编译报错:
Undefined Variable未定义的变量
计算功能【了解】
注意:虽然sass提供了变量计算的功能,但是由于系统I/O调用顺序,导致有的电脑可以快速计算并编译,有的报错或者直接不编译
所以我们尽量不要使用sass来进行变量的计算,如需计算,推荐使用JS
父选择器
在sass源码中,使用&就代表它的上一层父级选择器
在嵌套写法使用中,我们经常使用&来给父选择器进行占位
这样写就可以搭配伪类、伪元素一起使用,确保生成的选择器结构是正确的
/*.box>ul>li>a*/ .box { border: 1px solid #000; ul { list-style: none; li { height: 30px; a { text-decoration: none; } //方案2:使用&号,&就表示父级li,表示给父选择器占一个位置 //注意:不加&是不行的,因为:hover前会多生成一个空格,伪类无效 &:hover { background-color: #00f; } } /*方案1*/ // li:hover { // background-color: #f00; // } } }
上面我们学习到,变量可以保存css的值,但是我们不可以直接使用变量名作为选择器的名字,如果想要在CSS中使用SASS变量,就需要用#{ }包裹变量名,才可以使用,否则会报错。
格式: #{ 变量名 }
//.nav-item { }
//.list-item { }
//.carousel-item { }
$abc:10px;
$daohang:nav;
$liebiao:list;
//这样写会报错,因为$daohang会被看作是字符串而不是变量名
/*.$daohang-item { }*/
//给$daohang外加一层#{ }作为变量名就不会报错了
.#{$daohang}-item { }
.#{$liebiao}-item { }
%juxing {
width: 120px;
height: 40px;
}
.box5 {
@extend %juxing;
}
编译后生成的内容:
.box5 { width: 120px; height: 40px; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。