You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CSS选择器选中无.b父元素的.c并设置红粗样式?

实现目标:仅当.c元素无.b类父元素时设置红色加粗

刚好可以用CSS的:not()伪类来实现这个需求,核心就是精准筛选出那些**没有任何.b类祖先元素(直接或间接)**的.c元素,下面是具体的代码实现和示例:

CSS 实现代码

.a :not(.b) .c {
  color: red;
  font-weight: bold;
}

对应的HTML结构示例

<div class="a">
  <div class="not-b">
    <div class="c">bold red</div>
    <div class="b">
      <div class="c">normal black</div>
    </div>
  </div>
</div>

简单解释一下选择器逻辑

这个选择器.a :not(.b) .c的工作原理是:

  • 先定位到.a容器下的所有元素
  • 筛选出其中不属于.b类的元素(包括直接子元素和更深层的非.b元素)
  • 最后选中这些符合条件的元素内部的.c元素

这样一来,只要.c的任何一个祖先元素是.b,它就会被自动排除在外,不会应用红色加粗的样式;只有完全没有.b类父级/祖先的.c才会被选中。

内容的提问来源于stack exchange,提问作者user2272048

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 09:00:28