SASS 使用总结
在项目中安装 sass
1 | yarn add node-sass 或 npm i node-sass -S |
使用淘宝源
1 | npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ |
使用变量
以$开头定义变量,如
1 | $width: #409eff; |
插值
在字符串中使用时,用#{}包起来,如 #{$width}
嵌套
在 css 中
1 | .a-long-class-name .class1 { |
在 scss 中
1 | .a-long-class-name { |
不用再把 class 写多遍
注释
CSS 格式注释
使用/* code */方式,编译后会保留到 CSS 中
1 | /* |
单行注释
使用 //,编译后不存在 CSS
1 | // 这是注释 |
重要注释
/*! code */
编译后仍然存在,即使压缩后也存在,可用于声明版权等。
1 | /*! |
继承
可继承选择器,可复用很多代码。
1 | .base { |
children 继承 base 选择器
可重用代码块 Mixin
1 | @mixin color($back: #000) { |
此处 button 的样式为灰底白字
Mixin 示例
生成浏览器前缀
1 | @mixin rounded($vert, $horz, $radius: 10px) { |
引用文件
可引用 css 和 scss 文件
1 | @import "path/filename.scss"; |
条件语句
可以使用 @if 和@else 判断
1 | @if $width > 200 { |
循环语句
for 循环
在 sass 中 for 循环有 2 种方式
for through
包含结束值
1 | @for $i from 1 through 100 { |
此例从 1 循环到 100
for to
不包含结束值
1 | @for $i from 1 to 100 { |
此例从 1 循环到 99
while 循环
1 | $i: 100; |
each 循环
1 | @each $color in red, green, yellow, blue { |
编译的结果为
1 | .btn_red { |