CSS 选择器不是元素类型的子元素?

问题描述 投票:0回答:3

我想对不在

code
标签内的
a
元素进行样式设置。

实现这一目标的最佳方法是什么?

code:not(a code)
似乎根本不起作用,至少在 Chrome 上是这样,尽管它看起来应该

我也无法从控制台让它工作。

我还可以使用其他仅使用 css 的方法吗?

css css-selectors
3个回答
161
投票

:not
不支持组合选择器。

如果我们谈论它的直接父级:

:not(a) > code

否则无法在 CSS 中执行此操作。你必须覆盖它:

code {
    /* some styles */
}

a code {
    /* override previous styles */
}

36
投票

实际上,你应该可以使用你的代码🤔,或者你可以使用通配符来选择所有不被选择的元素

code:not(a *) {
  font-weight: bold;
}

代码笔


7
投票

在 2023 年,这也有效:

h1:not(.original-style h1){
    /* This will apply for every h1 tag **not**
       in any .original-style at any level.
    */
}
© www.soinside.com 2019 - 2024. All rights reserved.