很抱歉这个基本的问题,但我觉得我还有一些事要补充。
我知道id是仅用于一次的元素,而类是用于多次使用它的元素。但这是指单个页面还是整个网站?
即如果我使用的是一个名为main-wrapper的包装器,它只在页面中使用一次,但在网站的每一页上都会是一个id或类?我一直在整个项目中为他们上课,如果我需要回去改变这一切,我很好奇。
答案 0 :(得分:3)
ID和类不只是关于唯一性和重复。 CSS中有一些叫做特异性的东西,所以如果你仔细阅读特殊性,就会说ID声明的分辨率比类规则更高,因此,建议你在CSS中的任何地方使用类,并为JavaScript动作留下ID
另外,我们在这里要清楚,CSS与ID复制无关,HTML也没有。如果您在HTML(DOM)中复制ID,则会在JavaScript中找到问题。所以从技术上讲,你可以使用重复的ID,因为它们只是该元素的标识符(尽管,HTML验证会大喊错误),但是当你开始在JavaScript中使用这些ID时,它确实会引起问题。 (现在不是说你应该使用重复的ID,而只是澄清基础知识。)
更多地谈论特异性,
#something {
color: red;
}
.something {
color: green;
}
<div class="something" id="something">This will be red and not green</div>
因此,你越多地使用ID,你的CSS越具体,在某个阶段,你需要编写更具体的规则来覆盖以前的规则,从而创建更混乱的CSS。
基本规则,尽可能使用标记选择器,至少设置默认值或重置这些元素,使用ID上的类,如果要通过JavaScript启动特定EVENT或ACTION,请保留ID,例如,按钮上的单击事件。在HTML中使用ID可以帮助JavaScript更快地处理,因为它会停止寻找超出第一个匹配元素的其他元素。
答案 1 :(得分:1)
在大多数情况下,基于每页或每个文档来引用内容。
不应在网站的单页上重复ID。但是,在网站的每个页面上使用相同的ID是很好的。所以你可以有一个id =&#34; main_container&#34;并在您网站的每个页面上使用它。但它应该只在每一页上出现一次。
A&#34; class&#34;设计用于在每个页面上或根据需要多次使用。