首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当身体课出现时,不要改变密辛?

当身体课出现时,不要改变密辛?
EN

Stack Overflow用户
提问于 2015-02-19 12:42:07
回答 1查看 248关注 0票数 1

我的混音少了。当存在某个body类时,我希望更改mixin的一个值。

代码语言:javascript
复制
.my-style() {
  font-weight: bold;
  color: red;
}

.my-style-altered() {
  color: blue;
}

.element {
  .my-style;
}

.body-class .element {
  .my-style-altered;
}

这很好用。然而,我的选择器列表越来越长:

代码语言:javascript
复制
.my-style() {
  font-weight: bold;
  color: red;
}

.my-style-altered() {
  color: blue;
}

.element,
.element-2,
.element-3 {
  .my-style;
}

.body-class .element, 
.body-class .element-2,
.body-class .element-3 {
  .my-style-altered;
}

有没有一种更聪明的方法来写我的选择器列表,这样我就不用重复两遍了?理想情况下,我只写一次它们,如果存在..body类,那么我的风格更改()也将被应用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-19 12:50:56

方法1: (对基本版本和主体类特定版本使用不同的混合)

是的,您可以避免多次编写所有选择器,方法是在泛型选择器中嵌套选择器的.body-class *变体,并添加父选择器,如下面的代码段所示。在编译此代码时,较少的编译器将自动将&替换为每个父选择器。

代码语言:javascript
复制
.my-style() {
  font-weight: bold;
  color: red;
}

.my-style-altered() {
  color: blue;
}

.element, .element-2, .element-3 {
  .my-style;
  .body-class &{
      .my-style-altered;
  }
}

编译的CSS:

代码语言:javascript
复制
.element, .element-2, .element-3 {
  font-weight: bold;
  color: red;
}
.body-class .element,
.body-class .element-2,
.body-class .element-3 {
  color: blue;
}

方法2: (在基本版本和主体类特定版本中使用相同的混音)

另外,如果您希望避免使用两种不同的混音,并通过相同的混搭输出内容(默认的和.body-class *变体),可以如下所示:

代码语言:javascript
复制
.mixin() {
  font-weight: bold;
  color: red;
    .body-class &{
        color: blue;
    }
}

.element, .element-2 {
  .mixin()
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28606726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档