类选择器和ID选择器的区别

区别 1:

与类不同,在一个 HTML 文档中,ID 选择器会使用一次,而且仅一次。

下面代码是正确的:

<p>
三年级时,我还是一个
<span class="stress">胆小如鼠</span>
的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个
<span class="stress">勇气</span>
来回答老师提出的问题。
</p>

而下面代码是错误的:

<p>
三年级时,我还是一个
<span id="stress">胆小如鼠</span>
的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个
<span id="stress">勇气</span>
来回答老师提出的问题。
</p>

区别 2:

不同于类选择器,ID 选择器不能结合使用,因为 ID 属性不允许有以空格分隔的词列表。

下面代码正确:

.stress{
    color:red;
}
.bigsize{
    font-size:25px;
}
<p>到了<span class="stress bigsize">三年级</span>下学期时,我们班上了一节公开课...</p>

而下面代码是错误的:

#stressid{
    color:red;
}
#bigsizeid{
    font-size:25px;
}
<p>到了<span id="stressid bigsizeid">三年级</span>下学期时,我们班上了一节公开课...</p>

区别 3:ID 能包含更多含义

类似于类,可以独立于元素来选择 ID。有些情况下,您知道文档中会出现某个特定 ID 值,但是并不知道它会出现在哪个元素上,所以您想声明独立的 ID 选择器。例如,您可能知道在一个给定的文档中会有一个 ID 值为 mostImportant 的元素。您不知道这个最重要的东西是一个段落、一个短语、一个列表项还是一个小节标题。您只知道每个文档都会有这么一个最重要的内容,它可能在任何元素中,而且只能出现一个。在这种情况下,可以编写如下规则:

注意:

标准中说id必须是唯一的,并且不能包含空格。如果加了空格,违反了标准,通过就id获取不到该元素。所以CSS和js都不会起作用。而class则没有这个限制

猜你喜欢

转载自blog.csdn.net/weixin_46168350/article/details/111643611