欢迎阅读本书。本书经过精心策划、设计和编写,旨在全面介绍两项最主要的Web技术,即超文本标记语言(HTML)和级联样式表(CSS)。
本书行文简明流畅,向您介绍了创建简单乃至复杂万维网文档所需了解的知识和参考信息。
Internet及万维网简史
万维网在我们当今的生活中几乎无处不在,多数计算机和计算机化的设备都与万维网相连。但是,Web以及它底层的Internet基础设施,在最初的时候完全不是现在的样子,与现代消费者和商业用户对它的认识完全不同。
Internet起源于1960年左右开始的美国国防部高级研究计划局(Advanced Research Project Agency,ARPA)计划。这个计划的目标之一,就是让计算机能够迅速地进行网络通信,而且要能跨越长距离进行通信。这个网络被设计成能够实现准故障恢复,允许联网的计算机在它们之间的某些路由器出现故障的时候,也能够继续进行通信。
1969年,ARPANet网络诞生了,这个网络连接了几所知名的大学。随着ARPANet的继续发展,越来越多的大学加入了网络。该计划最初的目标之一:实现可靠的、准故障恢复的网络,最终由Internet协议(IP)所实现。这个协议允许网络通信的数据包在一条或多条路由变得不可靠时,也能找到去往目的地的其他路由。这个通信协议最后成为今天Internet的骨干,而Internet网络也由此得名。
后来,在IP协议之上,又结合了传输控制协议(TCP),用来提供可靠的传输系统。这两个协议的结合实现了更高的灵活性,而且提供了为Internet开发更好的通信应用程序的能力。
在20世纪80年代,Internet经历了几个转变。虽然Internet的主要用户是教育机构,但美国军方并未忘记自己最初的计划。其他政府部门也开始关注此计划,并加入到该网络当中来。美国军方决定建立自己的网络MILNET,从而略微缓解了Internet的负担。
直到1992年,Internet还远不是世界上最流行的网络。在此期间,一位英国籍的软件工程师兼计算机专家Tim Berners-Lee开发了可创建文档的超文本标记语言,发送这类文档的超文本传输协议(HTTP),以及第一个浏览器编辑器,即万维网(World Wide Web)。很快“Web”这个记号就得到了国家超级计算应用中心(NCSA)的关注。NCSA的一个编程团队决定开发更好的浏览器,于是第一个对多媒体提供高度支持的浏览器Mosaic就此诞生了。Mosaic促进了现代浏览器的出现与发展。
随着Web不断被政府和教育部门接纳,其名气也越来越大。许多公司开始将Web基础结构用于市场营销和支持目的,而与此同时Web开发人员则将目标瞄向更广大的非技术用户群。
到21世纪之初,几乎所有联网的计算机、许多电子设备以及一些看似无关的消费类设备(例如汽车)都已经能够访问Web。这些连接到Web的设备都是使用连接,用于定义文档的语言也是相同的语言,发送信息也使用协议。
随着越来越多的非技术用户开始使用Web,“网页”看起来更像是高质量的打印文档(类似于报纸、宣传册、杂志等)。这种变化彰显着Web相比最初的外观已发生的巨大变化,即从技术性纯文本页面演变成设计精美、色彩缤纷的页面。
在万维网整个发展过程当中,尤其是最近几年间,标准、工具以及相关应用程序已经产生了变化和发展,有时发展步伐非常迅速。因此,有关Internet的图书覆盖的范围也相当广泛。
本书的覆盖范围
那么,本书到底覆盖哪些内容呢?简明答案就是HTML和CSS,本书的书名也表明了这一点。但是由于HTML有4个以上的主要版本,而CSS也有3个主要版本,再加上一些关联的技术,因此确切的回答就不是那么简单了。
更准确的回答应该是:
● HTML 4.01/XHTML 1.1
● CSS 2.1
● JavaScript
● 用来创建Web文档及对文档进行除错的一些支持应用程序
. ● 一些多媒体格式(图形、视频等等)以及支持应用程序
下面介绍这些不同的应用程序集如何汇聚到一起。
HTML 4.01/XHTML 1.1
HTML 4.01是HTML最新的版本。这个版本从1999年12月发布至今依然非常稳定。虽然在编写本书的时候,HTML的第5版已经进入草案阶段,但距离实际发布可能还需要一年左右的时间。
然而需要注意的是,本书倡导使用XHTML 1.1标准。它包含以下标准:
● 每个标签都必须明确地关闭,或者使用匹配的关闭标签关闭,或者在标签末尾使用斜线关闭(在没有匹配的关闭标签时使用这种方式)。
● 每个标签必须使用小写字母,也就是说必须使用<p>而不是<P>。
● 每个标签特性都必须放在引号内。
● 每个标签特性都必须赋值。例如,selected特性应该写成selected="selected"。
既然这些标准并不是HTML 4.01的组成部分,那么为什么要在本书中涉及它们呢?这是因为XHTML标准更严格,而且不会影响HTML,所以遵守这个标准有助于读者为使用其他基于XML的语言编写文档做好准备。
注意:
未来的HTML版本将以XHTML编码标准为基础。
交叉参考:
第18章将简要介绍HTML 5。
CSS 2.1
最新的CSS版本是2.1。不过3.0版本正在开发之中,可能过几年才会发布。由于CSS 2.1已经比较成熟,所以本书主要关注它的运用。CSS 2.0版已经发布了近10年,应用于成千上万的网页,而且多数Web设计师对它也有深刻的理解。CSS 2.1版修复了一些错误,对部分模糊之处给出了精确规范,增加了一些属性和值,不过本质与2.0版十分相近。
虽然CSS 3.0版规范的草案已经形成,而且某些用户代理已经采纳了其某些功能,但距离广泛推行还比较遥远。因此,坚守现有的CSS 2.1标准更加稳妥。
交叉参考:
第38章将简要介绍CSS 3。
用户代理(浏览器)的范围
前面提到过,在1993年,Mosaic是第一款广泛用于高效浏览Internet的浏览器。历经数年的发展,相继出现了其他类型的浏览器,这些浏览器数量多,类型广泛。例如,网页中图像比较少见时,主要针对Unix/Linux开发的纯文本浏览器Lynx。Opera等浏览器则一直是单纯的环境,它们严格支持当前的HTML和CSS标准。
IE和Firefox两大主要浏览器继续占据市场的主流,不过它们以各种方式使用自己的标准,这让包括富有经验的Web开发人员在内的开发人员们感到失望。
最近几年,Mac用户拥有了Mac固有的浏览器——Safari。Safari并未因其速度或遵守标准而出名,不过它为Mac用户提供了除Microsoft Internet Explorer之外的另一种选择。
2009年,Google发布了Chrome浏览器,从而为浏览器家族新增了一种平台。Chrome提供了许多优异的功能,比如固若金汤的安全框架和良好的兼容性。虽然Chrome还处于初级阶段,但在人们广泛使用的浏览器中,它已经位于第四的位置。随着其不断走向成熟,它肯定会经历自己成长的痛苦,比如支持标准的XHTML和CSS。
既然有这么多浏览器可供选择,那么本书具体针对哪一种进行讲解呢?确切地讲,本书未针对任何一种浏览器。本书主要关注当前的XHTML和CSS标准,而不是某种特定的浏览器技术。这些技术包含在经批准的标准当中。本书在合适的位置会提到所支持的浏览器,但不介绍针对浏览器的技巧和变通方法。
注意:
虽然本书大部分截图都是使用微软的Internet Explorer生成的,但这只是出版惯例的问题,并非存在偏袒。
我们力求合理安排内容,使全书清晰易懂,酌情分析各种浏览器的不同特点,同时使篇幅不会过长。
Web 2.0
2004年,一种新的万维网诞生了——Web 2.0。这种新一代Web能促进交互式信息共享、互操作性、以用户为中心的设计和协作。
接下来几年,针对该前沿出现了多种应用,比如博客、基于Web的社区、托管服务(hosted service)、许多社交网络和协作式站点。看起来这种新Web具有自身独具的特点。不过,它不是一种新技术。
Web 2.0与原来常见的Web一样,都是建立在(X)HTML、CSS和JavaScript等技术之上。唯一的差别在于基于这种技术上产生的新的应用更加关注社交和协作功能。不管是从学术界、商业营销还是从个人使用来追溯Web的演变,社交应用都是Web下一阶段的演化方向。该阶段属于自然演化,不是技术演化的预言。本书坚持的立场是:Web 2.0从未真正扎根(与2004年对它的定义一样)。Web 2.0技术应用的精神实质是其演化的自然延伸,与创建Web时使用的工具和技术一样。因此,本书不会具体介绍Web 2.0,但是会使用为实现多个目的(比如社交和协作式联机工具)所涵盖的构造块。
本书使用的术语
为了适应Web的发展变化和它当前的发展方向,本书使用的术语技术性较低且更为新潮。
例如,在本书中将会很少看到用“页面”或“网页”这两个词来表示Web内容。原因在于,随着Web日益成熟并成为一种发布介质,使用“文档”这样的术语可能更合适。
此外,像“浏览器”这个术语也有点过时,因此本书中也将很少使用。原因在于,过去像Mosaic、Mozilla Firefox、Opera和Internet Explorer这类应用程序是访问Web的唯一手段,而这类应用程序的主要功能就是“浏览”Web上的内容,所以称它们为“浏览器”是合适的。
但是,现在用来访问Web内容的设备和应用程序则丰富得多,包括:
● 个人电子设备
● 集成导航系统
● 娱乐系统控制器
● 公用服务亭
在这些支持Web的应用程序中,许多都与传统的浏览器大不相同。它们访问数据的方式、呈现数据的方式甚至控制的方式都与浏览器不同。能够更好地对这些应用程序进行归纳的术语是“用户代理”。“用户代理”的基本意思是“帮助用户访问数据的工具”,而这才是所有这些应用程序都具备的功能。所以在阅读本书时,要习惯用“用户代理”这个术语代替“浏览器”。
本书主要读者对象
本书的目标群体非常广泛。刚刚接触HTML和Web内容的读者将受益最多,因为本书提供了非常好的学习基础,并提供了丰富的参考资料供日后精读之用。富有经验的用户会发现介绍新标准和新技术的章节对他们最有用,而且也会从本书提供的丰富参考资料中受益。
虽然Web世界从本质上看是技术驱动的,但本书会用简单直观的术语讲解技术。无论您是计算机专家还是初出茅庐的新手,都能理解、接受并运用本书提供的信息。
本书不是一本Web设计图书
本书介绍了HTML元素的基础知识、如何集成这些元素以及如何在它们上面叠加CSS。设计类图书通常会跳过构造块的细节,只介绍如何更合理地使用这些元素来实现赏心悦目的效果。虽然每类图书都会涉及其他一些图书的原理,但混合交叉的内容并不全面。
受篇幅限制,一本书里通常不会同时包含两种方法。这两种方法之所以不同也与内容和设计的分离有关。本书主要关注Web设计的内容部分,其他以设计为中心的图书主要介绍设计(可见特性)。
提示:
Wiley出版社出版了许多Web设计类图书。这些图书可跟本书形成互补,进而提供用于创建符合技术规范、美观文档的广泛技巧和技术。
这里推荐两本此类图书:
● Creating Web Sites Bible,第三版,作者Philip Crowder和David A.Crowder(2008)。
● 由清华大学出版社引进并出版的《CSS入门经典(第2版)》,作者Richard York。
请访问Wiley出版社的站点(www.wiley.com)并搜索“web design”,查找更多其他需要的图书。
本书内容
本书分成4部分,另加5个附录:
第I部分:使用HTML创建内容
这一部分介绍HTML的基础知识,包括构成HTML语言的标签、特性以及结构。读者将学习如何设计文档的结构、格式化文本以及在文档中添加多媒体内容。此外,还将学习基础的和高级的脚本编写技术,以便在文档中添加动态效果。
第II部分:HTML工具和变体
这一部分介绍的工具有助于您编写、验证文档并对文档进行除错。本部分还介绍了一些有用的HTML变体和扩展,包括XML和XHTML Basic。
第III部分:用CSS控制内容呈现
这一部分介绍CSS的基础知识、CSS选择器的语法、正确的属性和属性值,以及如何运用CSS属性有效地对文档的各个部分进行格式化。在本部分还将学习如何使用CSS的媒介类型对要打印的文档进行格式化。
第IV部分:附加的CSS工具
最后一部分介绍一些附加的CSS主题,包括高级布局、用户界面样式、测试和验证CSS,以及一些CSS的提示和技巧。
附录参考
本书的附录提供了对本书涉及的素材的快速参考。
提示:
关于每一部分中各章的划分,请参阅本书目录。
如何使用本书
根据读者的技能水平和使用目的,可以用多种方式来使用本书。
按顺序阅读
如果读者需要从头开始学习HTML和CSS,那么请采用按顺序阅读的方式,从头到尾逐章阅读本书。本书各章节的编排采用了由浅入深的方式,可使读者从入门逐渐提升到更高级的主题。
对于学习和教学来说,请采用顺序阅读方式。
有针对性阅读或随机阅读
如果读者只需要更新自己的某些知识,或者想用与本书章节不同的顺序学习,那么可采用针对性阅读方式或随机阅读方式:直接在目录中找到自己感兴趣的主题,或者用不同的顺序阅读各章节。虽然本书的各章节是按一定的先后顺序编写的,但每个章节的主题都是相对独立的。因此,可以找出具有相关信息的一章来阅读,或者在某一章内找出有关的一节来阅读。
如果要将本书用作参考书,也可以选择有针对性的阅读方式或者随机阅读方式。
提示、注意和交叉参考
在本书中,每当作者希望提醒您注意某些重要内容的时候,都会将相关信息放在提示、注意或交叉参考内。这些内容的格式与下面示例类似:
提示:
这个信息很重要,所以放在单独的段落内,并采用与其他段落不同的排版格式。
“提示”提供的信息通常可使工作变得更轻松,例如使操作更简便的特殊快捷方式或特殊方法。
“注意”提供额外的辅助性信息,这些信息很有帮助,但是略微会超出当前的内容范畴。
“交叉参考”告诉您在本书的哪个地方可能找到与当前主题有关的信息。
本书配套网站
本书还创建了一个配套网站,用来提供对本书的支持。配套网站上包含本书的全部代码和示例,还有本书中没有包含的附加材料。网站地址是www.wiley.com/go/htmlbible5e。