最近我在CSS初学者的书中看到了这一点(由Simon Collison开始CSS Web开发,第19页)
h1#title{color:red;}
这是element#id
结构。
但这有必要吗?由于ID在一个html网页中是唯一的,因此element
不是必需的。
我的理解是对的吗?
答案 0 :(得分:5)
id
是唯一的,但这并不意味着它们不能应用于不同文档中的其他元素,因此使用#title
之类的内容只能在一个文档中使用,但可以使用对于另一个文档中的其他元素,虽然id
是唯一的,但您可以在不同文档的不同元素上使用它。因此,使用h1#title
会强制CSS仅应用于h1
id
的{{1}}元素。
此外,特殊性很重要,#title
比h1#title
更具体,所以使用类似
#title
VS
#title {
color: red;
}
答案 1 :(得分:2)
但这有必要吗?
可能是,它完全依赖于上下文。
将相同的CSS文件包含在多个页面中非常常见,在这种情况下,id 不是保证是唯一的。一个页面可能有<h1 id="title">
而另一个页面可能有<div id="title">
,您可能只想定位其中一个。
由您自行决定是否保证比#id
更具体。
答案 2 :(得分:1)
你是对的。但是,当程序员不想应用这些样式时,如果有人将h1
更改为html中的p
或h2
等其他标记,那么这仍然很方便。