html - 将样式应用于 div 但不应用于 <strong> 子元素

标签 html css

我怎样才能将样式应用于父级 div但不是 <strong> child 。我尝试了各种方式 :not选择器,但我的尝试都没有成功。

这是我想出来的

.total:not(strong) {
  color: gray;
}
<div class="total">Baloons <strong>$3.75</strong></div>
<div class="total">Pens <strong>$1.99</strong></div>

我知道我可以将样式分别应用于这些样式,但我正在寻找 :not这样做的方式,这样我就可以在一条线上完成。

我也知道我可以给<strong>上课做.total:not(.strong-class)但为什么它不像我最初尝试的那样起作用?

最佳答案

:not规则指的是目标元素。你的规则.total:not(strong)被翻译为将样式 ( color: gray ) 应用于具有类 .total 的元素,这不是 strong节点(<strong> 标签)。自 .total节点是 div ,规则仍然适用。

将强者的颜色重置为初始颜色或选择不同的颜色:

.total {
  color: gray;
}

.total strong {
  color: initial;
}
<div class="total">Baloons <strong>$3.75</strong></div>
<div class="total">Pens <strong>$1.99</strong></div>

关于html - 将样式应用于 div 但不应用于 <strong> 子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58625360/

相关文章:

html - 子导航栏

html - 如何只显示 textarea 字段,而不显示它下面的行?

html - 菜单链接不向右浮动

html - 全屏图像 - 但保留导航栏

jQuery Chosen 插件定制

css - Ember.js 模板和全高(包括 JS bin 示例)

html - 使用 Google AMP 时是单个还是多个 HTML 代码库?

css - 将 swiffy-Stage 对齐到页面右侧

css - 使用 Java 以编程方式在 Vaadin 14 中通过 CSS 指定背景图像

html - 如何使 CSS 玻璃/模糊效果适用于叠加层?