【问题标题】:CSS Selector for not a child of element type?CSS选择器不是元素类型的孩子?
【发布时间】:2013-01-31 18:51:39
【问题描述】:

我想为不在a 标签内的code 元素设置样式。

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

code:not(a code) 似乎根本不起作用,至少在 Chrome 上,即使它是 seems like it should

我也无法通过控制台运行它。

还有其他我可以使用的纯 CSS 方法吗?

【问题讨论】:

    标签: css css-selectors


    【解决方案1】:

    :not 不支持组合选择器。

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

    :not(a) > code
    

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

    code {
        /* some styles */
    }
    
    a code {
        /* override previous styles */
    }
    

    【讨论】:

    • 问题是我不想使用星选择器
    • 出于好奇:我不知道为什么,但是:not(a) > code 有效,而:not(a) code 没有,知道为什么吗? (仍然是铬)
    • @Nico - 因为:not(a) code 查找不是a任何祖先,这总是正确的。 :not(a) > code 只查看直接父级。
    • 头奖,我应该考虑的。
    【解决方案2】:

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

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

    Codepen

    【讨论】:

    • 这实际上是有效的,也是最好的解决方案,例如,如果我想防止在某些容器内应用 CSS 重置。谢谢!
    • 它对我有用!谢谢先生!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    相关资源
    最近更新 更多