仅将类应用于类中的元素,而不是所有子类

时间:2019-06-04 21:34:50

标签: css

我只需要将样式应用于具有“红色”类的元素。我如何避免将课程应用于所有流镇的孩子?

SELECT A.Acn, A.SSN,
       (CASE WHEN B.ACN IS NOT NULL THEN 1 ELSE 0 END) as b_flag
FROM A LEFT JOIN
     B
     ON A.ACN = B.ACN AND B.closeDate = '2019-06-30'
.red {
  color: red
}

2 个答案:

答案 0 :(得分:3)

使用.red将CSS应用于> *的所有直接子代。将color重置为initial,以忽略以前的任何样式(来自元素的父级)。

.red {
  color: red
}

.red > * {
  color: initial;
}
<ul>
  <li>item</li>
  <li class="red">item
    <ul>
      <li>item</li>
      <li class="red">item</li>
      <li>item</li>
    </ul>
  </li>
</ul>

答案 1 :(得分:1)

如果您可以控制HTML,请考虑插入一个仅包含要设置样式的文本的元素。例如:

<ul>
  <li>item</li>
  <li><em class="red">item</em>
    <ul>
      <li>item</li>
      <li><em  class="red">item</em></li>
      <li>item</li>
    </ul>
  </li>
</ul>

在原始文档中,嵌套的ulli的一部分,带有红色类别。这意味着red样式也将生效。这样可以减少HTML文档中的复杂CSS并增加语义。