SASS
就是去掉了分号和括号的一门语言
SCSS
SCSS就是基于SASS语言的一套更适合前端工程师看的语言1
2
3npm init -y
npm i -D parcel
npx parcel index.html
可以自动的去编译SCSS的在线工具
还可以在codepen上自己切换SCSS的工具
嵌套选择器
1 | .nav { |
变量
1 | $grey: #666; |
方便统一改样式,只需要改一处就行
mixin
可以把一堆代码写到一个地方,取个名字,然后在下面复用,如下:1
2
3
4
5
6
7
8
9
10
11
12$grey: #666;
$border-width: 2px;
@mixin debug {
border: 1px solid red;
background: $grey;
}
.nav {
@include debug;
> ul {
background: white;
}
}
高级用法,可以将其写成函数并带有参数,参数可以有默认值:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17$grey: #666;
$border-width: 2px;
@mixin debug($border-color: red) {
border: 1px solid $border-color;
background: $grey;
}
.nav {
@include debug;
> ul {
background: white;
> li {
@include debug(green)
}
}
}
placeholder
将要用同样样式的选择器放在了一起,节省了样式的代码。(mixin并没节省代码,只是复制粘贴了)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15$grey: #666;
$border-width: 2px;
%debug($border-color: red) {
border: 1px solid $border-color;
background: $grey;
}
.nav {
@extend debug;
> ul {
background: white;
> li {
@extend debug(green)
}
}
}