出于本演示的目的,我将使用StackOverflow元素来提高可信度。
如果您退出SO,则可以在页面顶部看到一个大型号召性用语框。更简单,只需在这里转到他们的新葡萄牙语版本 - https://pt.stackoverflow.com/
一旦看到行动呼吁框(如下所示),请继续使用开发人员工具进行检查。
在ID为hero-content
的div上,您会注意到我粘贴在下面的样式:
#herobox #hero-content {
background: #fff7d8;
border: none;
}
我做了一些研究,众所周知,div ID的 应该是页面的唯一性。虽然,如果它们是唯一的,为什么选择器需要在ID中声明ID?
答案 0 :(得分:3)
有几个原因。
样式表可以在HTML文档之间重用。您可能希望区分#hero-content
一页#herobox
的后代和另一页#somethingelse
的后代。
在这种情况下,更有可能是特异性。例如,假设#hero-content
是<div>
,设置#herobox div
样式的一般规则将更具体#herobox #hero-content
。添加额外的id选择器会增加特异性。
答案 1 :(得分:2)
可能只是增加选择器的特异性。
例如,作者可能想要覆盖......
#hero-content { border: 2px solid #333; }
它也可能是像LESS这样的工具的副作用,作者可能最初写过......
#herobox {
// Lots of other CSS.
#hero-content {
// ...
}
// Lots of other CSS.
}