当前位置: 首页 > 知识库问答 >
问题:

#ID#ID:重复出现相同的简单选择器应该会增加特异性,但对于IE9中的IDs来说却不是这样

郁明诚
2023-03-14

一段时间以来,我一直在使用一个我认为很聪明的小技巧。

也就是说,组合相同的css选择器来为规则的选择器添加特定性。

CSS规范确实提到:

注意:允许重复出现相同的简单选择器,这确实增加了特异性。

<body>
    <section id="main">
        <header class="titles">
            <h2>Title red</h2>
            <h2 class="blue">Title blue</h2>
        </header>
        <h2 class="blue">Title blue</h2>
    </section>
</body>
#main .titles h2{
    color: red;
}
#main .blue.blue{
    color: blue;
}

第一个选择器的权重为0111(1个id,1个类,1个元素)第二个选择器的权重为0120(1个id,2个类)

有时我用身份证做。它起作用了...在真正的浏览器中...此选择器:

#main#main .blue{}

应该重0200,因为它有两个身份证,对吗?

https://connect.microsoft.com/ie/feedbackdetail/view/958790/repeature-councements-of-the-simple-selector-show-adcreated-specificity-even-with-ids

共有1个答案

戴鸿羲
2023-03-14

是的,从F12中显示的行为判断,这绝对是一个bug。如果您将“确实增加特异性”解释为“必须增加特异性”,这也违反了规范。这个问题似乎只影响ID选择器。类选择器、属性选择器和伪类都可以。

这似乎以前已经报告过,因为当我搜索Microsoft Connect时,它会出现一个现有的报告,但出于某种原因我无法查看它。这个问题在IE11中仍然存在;如果您也无法查看该报告,请随意提交另一份报告。

 类似资料:
  • 问题内容: 我有一个看起来像这样的表: 我想运行一个查询,该查询将选择唯一的ID和值作为命名列,因此它看起来像这样: 任何帮助将非常感激!! 问题答案: 您可以使用以下简单解决方案: 为了安全起见,我创建了join ,因为我不知道id是否可以包含 缺少的 字段,在这种情况下,它们将显示在我们的派生列中。 SQL提琴演示

  • 我是打字新手。我想从可观察的 这是我可以观察到的 预期结果: 可以不创建数组并在for循环中推送ID吗。

  • 本文向大家介绍浅谈js中用$(#ID)来作为选择器的问题(id重复的时候),包括了浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)的使用技巧和注意事项,需要的朋友参考一下 虽然经常用 但是 今天用这个去选的时候,发现怎么都设置不上值 经调查, id选择器是选择页面内全部的对象中的第一个 问题就在这------------因为以前项目里面没有说对这个弹出框做什么操作,所有id重复了也没管

  • 问题内容: 在一页中为多个元素提供相同的ID是否安全?例如,当使用某些jquery插件,两次或多次运行某些滑块或图库时,通常会发生这种情况。我们知道,开发人员喜欢给html容器一些ID,以使脚本工作更快。 让我们阅读w3.org文档: 使ID类型的属性特别的原因是,没有两个这样的属性可以具有相同的值。无论使用哪种文档语言,ID属性都可以用来唯一标识其元素。 但是下一个示例具有2个具有相同ID的元素

  • 让我们以这三个选择器为例,从最高的特异性到最低的特异性排序: 许多CSS专家建议不要像第一个选择器那样进行嵌套,因为它的特异性非常高,您无法用这样的简单类重写它。我想找到一种方法来实现嵌套,就像一样,但不增加特定性。类似于这样: 使用诸如之类的简单选择符,将默认值应用于排版和文档范围内是非常安全的。但是,我希望更改特定节的默认值,类似于,而不必使用hacks来增加选择器的特异性,如。我宁愿使用ha

  • 本文向大家介绍select隐藏选中值对应的id,显示其它id的简单实现方法,包括了select隐藏选中值对应的id,显示其它id的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 由于select选项较少,做的简单, 将所有id存放一个数组中,然后遍历隐藏所有id,只显示选中值的id 以上这篇select隐藏选中值对应的id,显示其它id的简单实现方法就是小编分享给大家的全部内容了,希望能给大