1.解决传统CSS变量问题
// 变量定义$开始,分号结束
// map用()定义,用map-get()方法取
$color1: red;
$font:(
s: 10px,
m: 12px,
l: 14px
);
.m1 { font-size: map-get($font,s); }
.m2 { font-size: map-get($font,m); }
.m3 { font-size: map-get($font,l); }
div{ color:$color1; }
.cl{ color:$color1; }
#li{ color:$color1; }
.m1 { font-size: 10px; }
.m2 { font-size: 12px; }
.m3 { font-size: 14px; }
div { color: red; }
.cl { color: red; }
#li { color: red; }
2.解决标签嵌套问题
div {
background: yellow;
div p {
color: red;
}
> div {
color: green;
}
:hover {
color: green;
}
&:hover{
color: red;
}
}
div {
background: yellow;
}
div div p {
color: red;
}
div > div {
color: green;
}
div :hover {
color: green;
}
div:hover {
color: red;
}
3.提取公共部分 mixin
@mixin n($c) {
color: $c;
border: 1px;
}
.n1 {
@include n(red);
font-size: 10px;
}
.n2 {
@include n(yellow);
font-size: 14px;
}
.n1 {
color: red;
border: 1px;
font-size: 10px;
}
.n2 {
color: yellow;
border: 1px;
font-size: 14px;
}
4.项目中使用
npm init -y
npm i -g sass
sass index.scss index.css