如何将css规则应用于元素的所有后代

时间:2012-01-05 20:40:06

标签: css css-selectors

如果一个类在另一个特定的类中重新定义,怎么能重新定义它?

div.cls {
color:blue;
}

div.tst > div.cls {
color:red;
}

<div class="cls">test</div> // text color = blue

<div class="tst">
  <div class="cls">test</div> // text color = red
  <div>
    <div class="cls">test</div> // text color = blue
  </div>
<div>

如何使最后一个也变红?

的jsfiddle

http://jsfiddle.net/gpD7H/

3 个答案:

答案 0 :(得分:17)

使用descendant selector [W3C]div.tst div.cls

>child selector [W3C],只会匹配元素的子元素。

答案 1 :(得分:17)

我用过它,它对我有用:

  

.name-of-parent * {color:red; }

答案 2 :(得分:4)

完全一样。但是,您的第二个分部赢了是红色文本,因为它也包含在另一个分部中。 >选择器仅匹配在其之前匹配的元素下的直接子项,因此它仅在一个级别内查看div.tst内部。尝试从选择器中删除>

div.tst div.cls {
color:red;
}

Your updated jsFiddle