早期的Web仅仅是一系列相互链接的研究文档,并使用HTML添加基本的格式和结构。但是,随着万维网的流行,HTML开始用来表现页面。人们使用字体和粗体标签的组合来创建所需的视觉效果,而不只是用标题元素突出显示页面的标题。表格成了一种布局工具而不是显示数据的方式,人们使用块引用(blockquote)来添加空白而不是表示引用。Web很快就失去了意义,成了字体和表格标签的大杂烩(见图1-1)。

图1-1 来自abcnews.com(2000年8月14日)的新闻头条页面的标记,它使用表格进行布局,对标题使用大的粗体字。代码缺乏结构,很难理解
HTML原本是一种简单且容易理解的标记语言。但是,随着网页变得越来越复杂,代码变得几乎不可能理解了。因此,需要使用复杂的WYSIWYG(所见即所得)工具来处理大量的无意义标签。不幸的是,这些工具并没有使事情简化,反而添加了它们自己的复杂标记。新千年开始以来,即使普通的网页也变得非常复杂,以致于几乎不可能进行手工编辑而不破坏代码。看起来不能这样下去了。
就在这种情况下,CSS出现了。有了CSS,就可以控制页面的外观并且将文档的表现部分与内容分隔开。表现标签(比如字体标签)可以去掉,而且可以使用CSS而不是表格来控制布局。标记重新变得简单了,人们又开始对底层代码感兴趣了。
意义重新回到了文档中。浏览器的默认样式可以被覆盖,所以可以将某些内容标为标题,而不需要为它指定大的、加粗的、难看的字体。可以创建列表,而这些列表不一定显示为一系列带黑点的列表项,可以使用没有相关联样式的块引用。开发人员开始按照(X)HTML元素的原义使用它们,无需去管它们的外观(见图1-2)。

图1-2 今年早些时候从abcnews.com获得的新闻头条页面的标记,它具有良好的结构,容易理解。虽然它仍然包含一些表现标记,但是与图1-1中的代码相比有了显著的改进
有意义的标记为开发人员提供了几个重要的好处。与表现性的页面相比,有意义的页面更容易处理。例如,假设需要修改页面中的一个引用。如果这个引用加上了正确的标记,那么很容易搜索代码,找到第一个块引用元素。但是,如果这个引用只是另一个段落元素标签,那么就很难寻找了。
除了人容易理解之外,程序和其他设备也可以理解有意义的标记(也称为语义标记)。例如,搜索引擎可以识别出标题行(因为它被包围在h1标签中)并给它分配更高的重要度。屏幕阅读器的用户可以依靠标题作为辅助的页面导航措施。
对于本书来说更重要的是,有意义的标记提供了将元素调整为你所需样式的简单方法。它在文档中添加了结构并且创建一个底层框架。可以直接设置元素的样式,而不需要添加其他标识符,因此避免了不必要的代码膨胀。
(X)HTML包含丰富的有意义元素,比如:
q h1、h3等。
q ul、ol和dl。
q strong和em。
q blockquote和cite。
q abbr、acronym和code。
q fieldset、legend和label。
q caption、thead、tbody和tfoot。
因此,当存在意义合适的元素时,就应该使用。






