如何从Less的子类中向祖父母施加条件

<div class="grandParent active"> /*active class added dynamically*/
   <div class="parent1">
    <div class="childOfParent1">  Some Text  </div>
   </div>
   <div class="parent2">
     <div class="childOfParent2">  Some Text  </div>
   </div>
</div>

使用Less,我如何根据grandParent类应用子文本颜色

.grandParent {
  .parent1 {
    .childOfParent1 {
      color : red;
      .grandParent:not(active) .parent1 .childOfParent1 {
        color : green;
      }
    }
  }
} 

以上可能使用以下代码,但我不想重复该代码

.grandParent {
  .parent1 {
    .childOfParent1 {
      color : red;
    }
  }
  &:not(active) .parent1 .childOfParent1 {
      color : green;
  }
}
七相最大

我猜最容易维护的代码是这样的:

.parent {
    .child {
        color: green;
        .grandParent.active & {color: red}
    }
}

或更少的DRY(如果您真的想使用:not):

.parent {
    .child {
        .grandParent              & {color: red}
        .grandParent:not(.active) & {color: green}
    }
}

有关此类用法的更多详细信息,请参见更改选择器顺序&


在下面的评论之后,这是另一个变体:

.grandParent {
    .parent {
        .child {
            color: green;
            .active& {color: red}
        }
    }
}

[嗯,有点题外话]尽管确实要使其保持可维护性,但有一些注意事项:

  1. 避免过于具体的选择(因此,对于这个例子,我想无论是.grandParent.parent冗余实际上)。
  2. 切勿为了嵌套而嵌套。有时嵌套是好的,但有时却是非常丑陋的(请参阅以下简短的简要回答,这是出于从不盲目进行的众多原因中的几个原因)。
  3. DRY!=可维护。通常,为“扁平”样式重复一两个类要比编写a肿且混乱的类层次结构要好得多(通常,在这种情况下,mixins和/或选择器插值比普通嵌套更好)。例如,与其让它变得更容易修改(通常这是过于沉迷于DRY的唯一原因),不如考虑以完全不希望对其进行修改的方式来编写它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Scss中引用祖父母?

来自分类Dev

jQuery-删除所有子类的祖父母类

来自分类Dev

将子类转换为其通用祖父母

来自分类Dev

覆盖在祖父母的构造函数中调用的祖父母的虚拟方法

来自分类Dev

在孩子的祖父母或外祖父母中建立父节点。XSL

来自分类Dev

如何在React Native中从孙子传达到其祖父母然后再传递回祖父母的孩子

来自分类Dev

xslt祖父母的有条件总和

来自分类Dev

如何从子记录集合中获取重要的祖父母记录集合?

来自分类Dev

如何在多代设置中针对祖父母查询inner_hits

来自分类Dev

Rails:如何在ActiveRecord中设置祖父母值(关联)

来自分类Dev

使用祖父母块

来自分类Dev

访问祖父母的变量

来自分类Dev

SQL Select祖父母

来自分类Dev

如何在jQuery中选择元素的祖父母

来自分类Dev

如何在SQL层次结构上显示祖父母?

来自分类Dev

在子代的祖父母中维护父节点。XSL

来自分类Dev

从孙子类调用父类构造函数,调用父代或祖父母构造函数?

来自分类Dev

为什么孙子类的父级不处理祖父母类的初始化?

来自分类Dev

为什么孙子类的父级不处理祖父母类的初始化?

来自分类Dev

我如何调用祖父母的构造函数(因为未定义父母的构造函数)?

来自分类Dev

在React中,孙子可以访问祖父母的属性而无需父母将其传递下来吗?

来自分类Dev

QPushButton附加到祖父母

来自分类Dev

Angular指令隐藏元素的“祖父母”

来自分类Dev

git rebase与祖父母的分支

来自分类Dev

xpath查找元素的祖父母

来自分类Dev

使用nltk查找祖父母节点

来自分类Dev

从子元素覆盖祖父母的css

来自分类Dev

获取节点的祖父母的名称

来自分类Dev

如何获得多维数组中一个数组键的父键,祖父母键和祖父母键?

Related 相关文章

  1. 1

    如何在Scss中引用祖父母?

  2. 2

    jQuery-删除所有子类的祖父母类

  3. 3

    将子类转换为其通用祖父母

  4. 4

    覆盖在祖父母的构造函数中调用的祖父母的虚拟方法

  5. 5

    在孩子的祖父母或外祖父母中建立父节点。XSL

  6. 6

    如何在React Native中从孙子传达到其祖父母然后再传递回祖父母的孩子

  7. 7

    xslt祖父母的有条件总和

  8. 8

    如何从子记录集合中获取重要的祖父母记录集合?

  9. 9

    如何在多代设置中针对祖父母查询inner_hits

  10. 10

    Rails:如何在ActiveRecord中设置祖父母值(关联)

  11. 11

    使用祖父母块

  12. 12

    访问祖父母的变量

  13. 13

    SQL Select祖父母

  14. 14

    如何在jQuery中选择元素的祖父母

  15. 15

    如何在SQL层次结构上显示祖父母?

  16. 16

    在子代的祖父母中维护父节点。XSL

  17. 17

    从孙子类调用父类构造函数,调用父代或祖父母构造函数?

  18. 18

    为什么孙子类的父级不处理祖父母类的初始化?

  19. 19

    为什么孙子类的父级不处理祖父母类的初始化?

  20. 20

    我如何调用祖父母的构造函数(因为未定义父母的构造函数)?

  21. 21

    在React中,孙子可以访问祖父母的属性而无需父母将其传递下来吗?

  22. 22

    QPushButton附加到祖父母

  23. 23

    Angular指令隐藏元素的“祖父母”

  24. 24

    git rebase与祖父母的分支

  25. 25

    xpath查找元素的祖父母

  26. 26

    使用nltk查找祖父母节点

  27. 27

    从子元素覆盖祖父母的css

  28. 28

    获取节点的祖父母的名称

  29. 29

    如何获得多维数组中一个数组键的父键,祖父母键和祖父母键?

热门标签

归档