简介
SCSS(Sassy CSS )是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。
Sass 和 SCSS 是同一种CSS预处理器,都称之为 Sass,两者之间不同之处有以下两点:
- 文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名。
- 语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。
所以推荐使用SCSS。
Sass语法:
1 | // .sass |
SCSS语法:
1 | // .scss |
用法
变量
1 | $primary-color: red; // 定义变量 |
嵌套
1 | .nav { |
嵌套调用父选择器
&
常使用伪类选择器
1 | li { |
嵌套属性
scss
1 | li { |
css
1 | li { |
混合-mixin
@mixin声明函数 @include使用函数
scss
1 | @mixin alert { |
css
1 | .alert-warning { |
mixin的参数
1 | @mixin alert($text-color,$bg-color) { |
继承-extend
@extend继承
1 | .alert { |
导入-import
@import
1 | @import "foo"; |
分音 (Partials)
如果需要导入 SCSS 或者 Sass 文件,但又不希望将其编译为 CSS,只需要在文件名前添加下划线,这样会告诉 Sass 不要编译这些文件,但导入语句中却不需要添加下划线。
例如,将文件命名为 _colors.scss
,便不会编译 _colours.css
文件。
1 | @import "colors"; |
上面的例子,导入的其实是 _colors.scss
文件