为了账号安全,请及时绑定邮箱和手机立即绑定

关于@at-root

何种情况下使用呢?请教

正在回答

3 回答

我的理解就是为了减少权重,既然这样干嘛还要写嵌套呢?

0 回复 有任何疑惑可以回复我~

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/


2 回复 有任何疑惑可以回复我~
#1

慕粉1137201464

我的理解就是为了减少权重,既然这样干嘛还要写嵌套呢?
2017-03-29 回复 有任何疑惑可以回复我~

这是sass3.3的内容

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Sass进阶篇
  • 参与学习       46635    人
  • 解答问题       97    个

对Sass其它较有难度的部分进行讲解,包括常用控制命令、函数

进入课程

关于@at-root

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信