qq_忒修斯_0
2015-09-20 14:48
何种情况下使用呢?请教
我的理解就是为了减少权重,既然这样干嘛还要写嵌套呢?
sass语法:
.block {
color: red;
#{&}__element {
color:blue;
}
#{&}--modifier {
color: orange;
}
}
css结果:
.block {
color: red;
}
.block .block__element {
color: blue;
}
.block .block--modifier {
color: orange;
}
这里我们实现的是BEM约定的css命名规则,不希望嵌套的发生,则可以使用@at-root,它在sass>3.3版本以上才有这个功能,改写如下:
sass语法:
.block {
color: red;
@at-root #{&}__element {
color: blue;
}
@at-root #{&}--modifier {
color:orange;
}
}
css结果:
.block {
color: red;
}
.block__element {
color: blue;
}
.block--modifier {
color: orange;
}
详细了解看如下网址:
sass @at-root
http://www.w3cplus.com/preprocessor/Sass-3-3-new-feature-at-root-bem.html
BEM css命名规则:
https://en.bem.info/method/naming-convention/
这是sass3.3的内容
Sass进阶篇
46635 学习 · 97 问题
相似问题