当涉及到CSS时,<div class="">和<div id="">之间有什么区别?是否可以使用<div id="">?

我看到不同的开发人员用这两种方式来做这件事,因为我是自学的,所以我从来没有真正弄清楚。


当前回答

或许打个比方有助于理解其中的区别:

<student id="JonathanSampson" class="Biology Calculus" />
<student id="MarySmith" class="Biology Networking" />

学生证是不同的。校园里不允许两个学生使用相同的学生证。然而,许多学生可以并且愿意与其他同学共享至少一个班级。

把多个学生放在一个班级标题下是可以的,比如生物。但把多个学生放在一个学号下是不可接受的。

当通过学校对讲系统发布规则时,你可以向一个班级发布规则:

“明天,所有的学生都要穿一件红衬衫去上生物课。”

.Biology {
  color: red;
}

或者你可以给一个特定的学生规则,通过调用他的唯一ID:

“乔纳森·桑普森明天要穿绿色衬衫。”

#JonathanSampson {
  color: green;
}

在这种情况下,乔纳森·桑普森收到了两个命令:一个是生物课上的学生,另一个是直接要求。因为通过id属性直接告诉Jonathan穿绿色衬衫,所以他将忽略先前穿红色衬衫的请求。

更具体的选择器获胜。

其他回答

一个CLASS应该用于您希望具有相同样式的多个元素。ID应该用于唯一的元素。请参阅本教程。

如果您想成为一个严格的墨守成规者,或者如果您希望您的页面符合标准,那么您应该参考W3C标准。

id在整个页面中必须是唯一的。

一个类可以应用于许多元素。

有时候,使用id是个好主意。

在一个页面中,你通常有一个页脚,一个页眉…

然后页脚可以是一个带有id的div

<div id="footer" class="…"" >

而且还有课

在高级开发id中,我们可以使用JavaScript。

为了可重复的目的,类比id更方便,因为id应该是唯一的。

下面是一个例子来说明上面的表达:

<div id="box" class="box bg-color-red">this is a box</div>
<div id="box1" class="box bg-color-red">this is a box</div>

现在你可以在这里看到box和box1是两个(2)不同的<div>元素,但我们可以将box和bg- colour -red类应用于它们。

这个概念是面向对象语言中的继承。

id必须是唯一的,因为类可以应用于很多东西。在CSS中,id看起来像#elementID,类元素看起来像.someClass

一般来说,当您有许多相似的东西时,当您想引用特定的元素和类时,请使用id。例如,常见的id元素包括页眉、页脚、边栏。常见的类元素是highlight或external-link。

阅读级联并理解分配给各种选择器的优先级是个好主意:http://www.w3.org/TR/CSS2/cascade.html

但是,您应该了解的最基本的优先级是id选择器优先于类选择器。如果你有这个:

<p id="intro" class="foo">Hello!</p>

and:

#intro { color: red }
.foo { color: blue }

文本会是红色的,因为id选择器优先于类选择器。

CSS是面向对象的。ID表示实例,class表示类。