【问题标题】:Apply CSS Style on all elements except with a SPECIFIC ID将 CSS 样式应用于除特定 ID 之外的所有元素
【发布时间】:2013-10-28 04:22:54
【问题描述】:

CSS 代码(我需要的)

<style>
    div[id!='div1']// I actually needed an inequality operator for NOT EQUAL TO
    {
        font-size:40px;
    }
</style>

HTML 代码

<body>
    <div>abc</div>
    <div>def</div>
    <div id='div1'>ghi</div>
</body>

CSS 没有按我的预期工作。

我实际上想为所有 &lt;div&gt; 元素定义样式,除了带有 id='div1' 的元素。

我该怎么做?

【问题讨论】:

    标签: html css


    【解决方案1】:

    使用:not 选择器:

    div:not(#bar){
        color:red;
    }
    <div>foo</div>
    <div id="bar">bar</div>

    更新:name 而不是 ID

    div:not([name="bar"]){
        color:red;
    }
    <div>foo</div>
    <div name="bar">bar</div>

    更新:CSS2 选择器,类似于 Tom Heard-s 的答案:

    div{
        color:red;
    }
    
    div[name="bar"]{
        color:blue;
    }
    <div>foo</div>
    <div name="bar">bar</div>

    另外,请参阅selectivizr

    【讨论】:

    • vucko,我很高兴得到解决方案。但是如果我必须根据name 而不是id 属性来检查它,那我该怎么办???
    • @RajeshPaul 不客气。 :not 选择器是 CSS3 选择器,因此 IE8 或更低版本 不支持,请参阅 caniuse
    • 那么name-check 使用 CSS2 有什么办法吗?
    • @RajeshPaul 如果你使用像 selectivizr 这样的 JS 插件。
    • @Vucko 你的 Js fiddle 不工作了,能不能更新一下。
    【解决方案2】:

    CSS3 解决方案:

    div:not(#div1)
    

    CSS2 解决方案:

    div {
        color: red;
    }
    
    div#div1 {
        color: inherit;
    }
    

    按名称:

    CSS3 解决方案:

    div:not([name=div1]) {
        color: red;
    }
    

    CSS2 解决方案(注意 IE6 不支持 - 但谁在乎):

    div {
        color: red;
    }
    
    div[name=div1] {
        color: inherit;
    }
    

    【讨论】:

    • 汤姆,巧合的是,我要求id-validation。但是假设我需要检查元素的name-属性上的不等式,那我该怎么办?
    • 为什么它在*:not(#email) 中对我不起作用,也就是说,当用于所有元素时
    • @nakinlaulu 我不知道为什么这不起作用(它也不适合我)但你可以做类似body *:not(#email) 的事情,它会起作用。见jsfiddle.net/1ty8ns3k/1,抱歉我不能给出更好的答案
    【解决方案3】:

    如果您只针对支持 CSS3 选择器的浏览器,您可以这样做:

    div:not(#div1) {
    ...my styles...
    }
    

    【讨论】:

      猜你喜欢
      • 2014-12-21
      • 2018-05-19
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2016-05-11
      • 2013-03-31
      • 1970-01-01
      相关资源
      最近更新 更多