我一直想知道......在CSS中创建样式类并将其应用于元素或使用#elementId表示法创建样式(除了能够将类分配给不同的元素)之间有什么区别吗? / p>
例如......
#div1
{
background-color: Yellow;
}
<div id="div1">
Hello world!
</div>
或者
.div1
{
background-color: Yellow;
}
<div class="div1">
Hello world!
</div>
谢谢!的:)
答案 0 :(得分:8)
答案 1 :(得分:3)
另一个区别; id-selectors比class-selectors更具体,所以我相信它们会“胜过”任何其他存在的选择器。你可以使用“important”来做同样的事情,但是id选择器可能更容易。
但应谨慎使用id-selectors ......
答案 2 :(得分:1)
许多类可以包含给定的“类”,而给定的ID只能识别一个元素。如果你需要找到一个唯一的元素使用ID,否则如果你想在你的html使用'class'中标记许多基本相同但位于不同位置的元素。
你回答了自己的问题,它们只是“识别”元素的机制。
答案 3 :(得分:1)
使用#elementID仅适用于由该id唯一标识的元素。一个类可以被多个元素使用
但是有一个优先顺序。使用id的选择器比使用类的选择器具有更大的权重,并且当存在冲突时,#id选择器将优先使用
编辑:有关选择器优先级的详细信息,请参阅http://kiribao.blogspot.com/2008/03/css-selectors-precedence-and-ways-to.html
中的w3c规范答案 4 :(得分:1)
性能或功能方面,没有区别[引证需要]。
唯一真正的区别是语义,如果您正在处理具有唯一ID的单个节点,或者您需要一个标记多个节点的可重用类。
答案 5 :(得分:1)
存在一些差异:
ID必须是唯一的,类可以重复。如果你看看它们的预期用途,这是合乎逻辑的。
ID应该用于表示网站的大部分(例如#header),或者通过Javascript访问的唯一元素(例如#killSession)
类应该用于可重复使用的部分。
ID的特定值为100,而类的值仅为1。
所以这个规则:
#id .class
值得101分。
这条规则:
#id #id2
值得200分,并且总是胜过#id .class规则(无论源顺序如何)。
性能方面,按ID获取元素总是比类快,尤其是在谈论Javascript时。我很乐意看到有人为此加上一些冷酷的数字。
答案 6 :(得分:0)
类是将具有相似功能(用于编写脚本)和/或布局(用于样式)的元素组合在一起。 ID应始终是元素的唯一标识符。
对于应该具有ID的内容的一个很好的示例是文档的内容区域,这通常是使用#content ID。类适用于文档中可能出现两次的任何其他内容,例如应该具有特殊标记或行为的标题,或者应该打开灯箱而不是正常的“转到URL”行为的链接。
HTH。