Appearance
Scss
sass 和 scss 是一样的,但又不完全一样。
scss = sass + css
sass 有自己的语法格式,scss 既拥有 sass 的功能,又保留 css 的语法格式。
嵌套
& 标识符表示父元素,也可以嵌套父元素的父元素,反向嵌套
scss
.btn {
background: blue;
&:hover {
background: pink;
}
.blog & {
background: white;
}
}css
.btn {
background: #00f;
}
.btn:hover {
background: pink;
}
.blog .btn {
background: #fff;
}变量
scss
$bgc: pink;
.box {
background: $bgc;
}插值
scss
$name: flex;
.#{$name}-row {
display: flex;
flex-direction: row;
}@for
through 包含 end 值,而 to 不包含 end 值
scss
@for $num from 1 through 6 {
.order-#{$num} {
order: $num;
}
}
@for $num from 1 to 6 {
.order-#{$num} {
order: $num;
}
}@each
scss
@each $size in large, middle, small {
.box-#{$size} {
content: '#{$size}';
}
}@mixin
scss
@mixin flex {
display: flex;
}
.flex-row {
@include flex;
flex-direction: row;
}
.flex-col {
@include flex;
flex-direction: column;
}带参数
scss
@mixin btn($bg) {
background: $bg;
color: white;
}
.btn-danger {
@include btn(red);
}@import
scss
// 导入 scss
@import 'foo.scss';
// 导入 css
@import 'foo.css';
// 按 css 处理
@import url('foo.scss');
@import 'http://xx/foo.scss';