CSS中的元素#id是必需的吗?

时间:2014-01-10 06:29:37

标签: html css css-selectors

最近我在CSS初学者的书中看到了这一点(由Simon Collison开始CSS Web开发,第19页)

h1#title{color:red;}

这是element#id结构。

但这有必要吗?由于ID在一个html网页中是唯一的,因此element不是必需的。

我的理解是对的吗?

3 个答案:

答案 0 :(得分:5)

id是唯一的,但这并不意味着它们不能应用于不同文档中的其他元素,因此使用#title之类的内容只能在一个文档中使用,但可以使用对于另一个文档中的其他元素,虽然id是唯一的,但您可以在不同文档的不同元素上使用它。因此,使用h1#title会强制CSS仅应用于h1 id的{​​{1}}元素。

此外,特殊性很重要,#titleh1#title更具体,所以使用类似

的内容
#title

VS

#title {
   color: red;
}

答案 1 :(得分:2)

  

但这有必要吗?

可能是,它完全依赖于上下文。

将相同的CSS文件包含在多个页面中非常常见,在这种情况下,id 不是保证是唯一的。一个页面可能有<h1 id="title">而另一个页面可能有<div id="title">,您可能只想定位其中一个。

由您自行决定是否保证比#id更具体。

答案 2 :(得分:1)

你是对的。但是,当程序员不想应用这些样式时,如果有人将h1更改为html中的ph2等其他标记,那么这仍然很方便。