@import 除了导入文件外,还可以嵌套selector&rule(嵌入的时候会形成后代选择器及规则)
.example {
color: red;
}
#main {
@import "example";
}
编译结果:
#main .example {
color: red;
}
@extend 只会继承规则不会带选择器
.error {
border: 1px #f00;
background-color: #fdd;
}
.seriousError {
@extend .error;
border-width: 3px;
}
编译结果:
.error, .seriousError {
border: 1px #f00;
background-color: #fdd;
}
.seriousError {
border-width: 3px;
}
//等同于如下:
.error {
border: 1px #f00;
background-color: #fdd;
}
.seriousError {
border: 1px #f00;
background-color: #fdd;
border-width: 3px;
}
@mixin对应@include,没有选择器只能被调用,可接受参数和@content引用调用处的内容
@mixin hover {
&:not([disabled]):hover {
@content;
}
}
.button {
border: 1px solid black;
@include hover {
border-width: 2px;
}
}
编译结果:
.button {
border: 1px solid black;
}
.button:not([disabled]):hover {
border-width: 2px;
}
