id用于标识页面唯一元素,id的名称是控制某一内容块的手段,通过将某内容块置入div并赋予唯一的id,就可以用CSS选择器来精确定义每一个页面元素的外观表现,包括标题、列表、图片、链接或者段落等等。例如你为#header写一个CSS规则,就可以完全不同于#content里的图片规则。
可以通过不同规则来定义不同内容块里的链接样式。类似这样:#nav a:link或者 #main a:link或者#footer a:link。也可以定义不同内容块中相同元素的样式不一样。例如,通过#main p和#sider p分别定义#main p和#sider p的样式。从结构上讲,你的页面是由图片、链接、列表、段落等组成的,这些元素本身并不会对显示在什么网络 设备中(PDA还是手机或者网络电视)有影响,它们可以被定义为任何的表现外观。
一个仔细结构化的HTML页面非常简单,每一个元素都被用于结构目的。当你想缩进一个段落,不需要使用blockquote标签,只要使用p标签,并对p 加一个CSS的text-indent规则就可以实现缩进目的。p是结构化标签,text-indent是表现属性,前者属于HTML,后者属于CSS。(这就是传说中的结构与表现相分离)
良好结构的HTML页面内几乎没有表现属性的标签。代码非常干净简洁。例如,原先的代码,现在可以只在HTML中写,所有控制表现的东西都写到CSS中去,在结构化的HTML中, table就是表格,而不是其他什么(更不能被用来布局和定位)。
当然,CSS选择器不只是这么简单,除了id还有class还有后代选择器,属性选择器等等。