新书快递: 《HTML&XHTML权威指南(第六版)》
学习超文本标记语言(Hypertext Markup Language,HTML)和可扩展超文本标记语言(Extensible Hypertext Markup Language,XHTML)与学习其他计算机语言或人类语言一样。大多数学生一开始会沉浸于大量的示例当中,因为学习别人是一种很自然的学习方式,这样可以使学习变得轻松而有趣。对于任何希望学习HTML 及XHTML 的人来说,我们的建议是到网上去,选择一个合适的浏览器,去看看什么东西不错,什么东西非常有效,什么东西是你可以拿来用的。研究别人的文档并观察哪些是可以实现的,哪些是不可实现的。现在许多网站管理员学习这种语言的方法就是模仿。
但是,模仿也只能够带你走这么远。示例既有优点,也存在缺点。通过示例来进行学习,只可以学到表面的东西,但却不能彻底全面地掌握。要想做到真正熟练,必须学会在各种不同的情况下使用这种语言。当然,如果时间足够多的话,也可以通过示例来学习所有这些不同情况。
另外还要记住,计算机语言比人类语言精确得多。必须正确使用语法,否则它就不会起到应有的作用。所以我们就会遇到“标准”的问题。学术委员会和业界的专家制定了类似HTML等计算机语言的语法和使用方法。问题是你与你的受众所使用的显示文档的浏览器技术可能是基于不同的标准。他们甚至自己又定义了某些部分,把标准完全不当一回事。
标准本身也在不断地改变。HTML正在经历向XHTML的转换,这种转换使它成为XML (Extensible Markup Language,可扩展标记语言)的一种应用。HTML 和XHTML 非
常相似,以至于我们经常把它们当做同一种语言来对待。但它们却有着非常重要的区别,
我们将在后面更多地阐述这些区别。
出于安全方面的考虑,要想熟练地掌握HTML 和XHTML,就要学习全面的、最新的语言参考书,这些资料要详细介绍该语言的语法、语义以及各种变化,来帮助读者区分好的和不好的用法。
要想熟练使用语言还需要另外一个步骤。要想成为该语言真正的专家就必须形成自己的风格。这就意味着不仅要知道什么是合适的,更要知道什么是有效的。还要考虑布局方面的很多问题,以及文档内、文档间和文档集之间内容的表示顺序。
本书的目的正是为了帮助读者熟练地掌握HTML 和XHTML,完全精通它们的语法、语义和样式方面的要素。我们采用自然的学习方法,也就是使用好的示例。本书包括了现在最常用的标准语言版本(HTML 4.01 和XHTML 1.0)方方面面的内容,以及现在所有流行浏览器接受的语言扩展。我们将解释这些要素的工作方式,以及它们如何与其他要素相互作用。
而且,本书为读者提出了样式和组织方面的建议,以帮助读者决定怎样才能最好地利用HTML 和XHTML 来完成各种各样的任务:从简单的在线文档到复杂的市场营销文案。我们将告诉读者哪些是可行的,哪些则不行,哪些对网页浏览者来说是清楚的,而哪些可能会让他们变得糊涂。
简而言之,本书是一本全面讲述使用HTML 和XHTML 创建文档的指南。它深入浅出,从最基本的语法和语义入手,以丰富的样式准则结束,这些内容可以帮助你创建内容漂亮、丰富而且可访问性良好的文档,当读者在浏览器中浏览这些文档时,你将会为这些文档感到自豪。
我们的读者对象
本书针对任何对学习Web 语言感兴趣的读者,包括一般的使用者和专业网页设计人员。在拿起这本书之前,你不需要具备任何HTML 或者XHTML 方面的知识。实际上我们甚至都不指望你有过上网浏览的经验,虽然这有些让人惊讶。本书并不要求你的计算机一定要和因特网相连,不过,如果确实没有这种连接的话,本书就有点像一本旅游指南了。
我们只要求读者有一台计算机,一个能编辑纯文本文件的编辑器和一个最新的Web浏览器。我们使用了Internet Explorer、Netscape Navigator、Mozilla Firefox 和Opera Software ASA 的Opera 浏览器。因为HTML 和XHTML 文档是以一种被广泛接受的格式(纯文本)存储的,并且因为这种语言和使用的计算机完全无关,因此我们毫不关心你使用的是什么样的计算机。然而浏览器却会因平台和操作系统的不同而有着很大的差异,这就意味着HTML或XHTML文档可能会因为计算机或者浏览器版本的不同而在显示效果方面相去甚远。我们将解释各种浏览器如何使用一定的语言特性,其中特别要注意它们之间的不同所在。如果读者对HTML、Web 或者超文本文档都不熟悉,那么应该从第1 章开始学习。第1 章将描述所有这些技术如何相互结合使用,共同创建由互相关联的文档构成的网站。
如果读者对Web 很熟悉,但是并不熟悉HTML 和XHTML,那么请从第2 章开始。这一章将简要地介绍这种语言的重要特性,指引读者如何在本书后面学习这门语言。
其他章节全面介绍了HTML和XHTML语言的各种特性。读者可以按照章节的顺序从头到尾阅读,这样可以对本语言有一个全面的了解,也可以选择性地阅读,寻找自己感兴趣的内容。
排版约定
本书使用等宽字体(constant-width)来突出表示所有HTML/XHTML 标准、标签和属性的文字部分。使用小写字体表示标签。在表明定义文件名和新的概念时,则用斜体(italic)表示。创建文档时,在代码中用等宽斜体(constant-width italic)表示需要提供的元素,例如标签属性或者由用户定义的字符串等。
本书讨论了语言的各种元素,你会发现每一个元素都在简写形式的快速参考定义框中有详细深入的介绍,就像下面的<title>定义框一样。该框中的第一行是元素的名称,然后是其功能的简述。再后,如果元素有各种不同的属性,我们将把它们都列出来:这些属性是指元素的一部分,可能需要也可能必须进行指定。

图标
说明此标签和属性不属于HTML 4.01 和XHTML 1.0 标准,并且在各种流行浏览
器中处理这些是非常困难的。
如果有结束标签的话,“说明”中还会包括元素的结束标签,以及在HTML 的一般应用中省略这个结束标签是否安全的说明。少数几个标签在HTML 中没有结束标签,但在XHTML 中却要求必须有,这时可以用一个正斜杠(/)来结束这个标签,如<br/>。在这种情况下,标签还可以包含很多属性,可用省略号来表示,如<br.../>。
其中的“包含”部分列出了HTML 的语法规则,这些语法规则定义了在本标签中使用的元素。类似地,“使用范围”列出了其他可以使用本标签的语法规则。这些规则将在附录A 中进行定义。
最后要说的是, HTML 和XHTML 是两种关系紧密的语言。有时根据内容的不同,某些元素的使用也会不同,但很多元素都具有共同的特性。所以在所有可能的地方,我们都会放置交叉参考,这样读者可以很容易地找到本书中其他相关的讨论。这些交叉参考和本段末尾一样,就像超文本文档的纸质版本。如果本书是以电子版形式发布的话,就肯定要使用超文本链接来代替它们。[请参见第3.3.1 小节“标签语法”]
我们鼓励读者在任何可能的时候使用这些参考。很多时候,我们在一个地方只是很简要地描述一种属性,因为我们希望读者能够在其他参考中找到足够详细的描述。而在另外一些时候,使用交叉参考可以了解到同一种元素的不同使用方法,或者其他与本元素相关的使用和样式方面的建议。
版本和语义
HTML 最新的版本是4.01,但语言主要的更新和变动是在4.0 版加进去的。所以在本书中我们通常都说HTML 4,即包括4.0 及之后的版本。只有在必要时才会提及“点版本号”。
XHTML 标准现在还是它的第一个版本:1.0。万维网联盟(W3C)已经提出了第二个版本(XHTML 2.0)的草案,但还没有正式建立该标准。很大程度上来说,XHTML 1.0 和HTML 4.01 是相同的。在第16 章中我们将详细介绍它们的区别。在本书中,如果XHTML 在处理某特性或元素时与HTML 有什么不同的话,我们会明确指出。
HTML 和XHTML 标准明确地区分了文档中的“元素类型(element type)”和界定这些元素的“标签(tag)”。例如,标准所指的段落元素类型,与段落标签<p>是不同的。段落元素包括在段落开始标签(<p>)和段落结束标签(</p>)中间可以接受的元素类型名和插入的内容。标签<p>是段落元素的起始标签,而段落的内容,即属性,才最终决定了段落元素类型的内容。
虽然这些区别十分关键,但毕竟创作者在文档中使用的是标记标签,而这些标签直接影响着内容,所以本书并没有特意去区分元素类型和标签。最经常讨论的是标签及其相关
的内容,但并不一定使用“元素类型”这个术语,虽然从技术角度讲, 进行区分可能更
合适。请原谅我们违反了规则,不过我们确实是为了要说明得更清楚才这样做的。
HTML与XHTML
实际上,就版本4.01 而言,HTML 这门语言正值其成熟期。W3C 打算不再开发另一个版本,并且已经正式宣布过此类说法。而且,HTML 已经模块化并被包含进可扩展标记语言(Extensible Markup Language,XML)当中了。它的新名称是XHTML,即可扩展超文本标记语言(Extensible Hypertext Markup Language)。
XHTML的出现只不过是HTML和Web轰轰烈烈的历史中的又一崭新的篇章。在这一历史进程中,使用者感到困惑并不新鲜,而且简直就是司空见惯的事情。在最糟糕的时候,万维网联盟(W3C)中负责已经接受和可以接受使用的语言(也就是标准)的老前辈们,在Netscape 公司和Microsoft 公司的浏览器“大战”中失去了对语言的控制。已流产的HTML+ 标准从来都没有成型过,而HTML 3.0 之争也陷入了困境,以至于W3C 只能把整个标准的草稿束之高阁。除了在某些机会主义分子的文章中,HTML 3.0 从来都没有出现过。直到1996 年底,浏览器厂商才说服W3C 发布HTML 标准的3.2 版本,这个版本的目的只不过是把Netscape 的浏览器对HTML 的大部分扩展进行了标准化。
Netscape 在浏览器市场以及Web 技术中的主导地位于上世纪末结束。之后,Microsoft 有效地将Internet Explorer 捆绑到Windows 操作系统中,不仅仅作为安装的应用程序,而是作为GUI 桌面系统的主要特征。而且,Internet Explorer 还具有几个特征(当时还不是标准)受到了Internet 界和市场的普遍赞赏。
对于我们当中那些喜欢并且强烈支持标准的人来说,幸运的是,到HTML 4.0 版本时,W3C 又恢复了它的重要地位。这个版本就是今天我们所说的版本4.01,它于1999 年12 月发布。这个版本吸取了Netscape 和Internet Explorer 革新中的许多方面,比以前的任何一个版本都要更清晰和整洁,它为不同浏览器和不同平台之间的一致性建立了坚实的实现模型,它支持并鼓励使用基于HTML 显示的CSS 标准,同时还制定了对其他(非图形化)用户代理程序(user-agent)的规定,并提供了更加广泛的语言支持。
除了更加清晰和整洁之外,W3C 还认识到,HTML 永远也不可能跟上Web 对发布、处理和显示文档方法的更多要求。HTML 只是提供了一套最基本的文档创建原语(primitive),当遇到像化学公式、音乐标注或者数学表达式之类的非传统文档类型时,
它就无能为力。而且它也不能支持其他一些显示设备,像手持计算机、智能蜂窝电话等。为了满足这些要求,W3C 开发了XML 标准。XML 提供了这样一种途径,通过它创建以标准为基础的新标记语言时可以不再等W3C来进行制订了。与XML兼容的语言可以传递这样的信息,它们可以被很多不同的通信技术解析、处理、显示、分片或者分割开来,这些技术自从10年前因Web的出现而激起数字通信革命时就开始不断地涌现。XHTML 是HTML 按照XML 标准重新构造的,它将成为未来Web 的基础语言。
为什么不干脆放弃HTML而采用XHTML呢?理由有很多。首先,也是最重要的一点是,Web 还没有全部替换为使用XHTML 标准。现在人们已经把太多的投资用在了基于HTML 的文档和技术上,以至于抛弃HTML 不能操之过急。而且,XHTML 是HTML
4.01 作为XML 的一种应用而重新改造过的。理解了HTML 4,你就为将来做好了准备。
不赞成使用的特性
对使用标准的人来说,一件不得人心的事情就是要在流行性和正确性之间做出选择。HTML 和XHTML 标准的作者通过“不赞成使用”该语言的某些会妨碍文档良好架构的特性解决了这种矛盾。
例如,<center>标签告诉浏览器要在显示窗口中居中显示它所包含的文本。但是CSS标准也提供了一些居中文本的方法。W3C 选择支持CSS 的方式,而不赞成使用<center>标签。计划在以后的某个版本中会停止使用<center>标签和其他不赞成使用的语言的元素和属性。
贯穿本书,我们特别注明并不断提醒读者,当前标准中的某个HTML标签或其他成分是何时不赞成使用的。那么我们应该使用这些不赞成的标签吗?应该,也可能不应该。
是的,因为已经有首选的并且可能是更好的方式来完成同一件事情。通过实现这种替代方法,就可以确保自己的文档可以在Web上使用很多年。而且,用来准备HTML/XHTML 文档的工具可能符合首选的标准,这也是一点原因。因此,除非手工创作所有的文档,否则都需要知道首选方法的工作方式,这样就可以标识代码并对其进行修改。
尽管那些不使用不赞成的元素和属性的原因非常明显,但它们仍然是标准的一部分。多数浏览器仍然支持它们,而且短期内这些元素和属性绝不会消失。事实上,因为并没有打算改变HTML 标准,所以“不赞成使用的”印记仅仅是一种十足的误导。
因此,读者不必担心那些不赞成使用的HTML 特性。现在没有任何理由感到恐慌。然而我们鼓励读者逐渐向标准转移。
权威指南
令人困惑的是,即使HTML 4.01 也不是权威资源,现在被广泛使用并被流行浏览器支持的很多HTML特性并没有收录进最新的语言标准中。而且这个标准中还有很多部分被忽略了。可以这样讲,事情可能变得彻底地混乱了。
我们已经把这些事情整理好了,所以读者不必再花费力气研究什么特性在浏览器中可以工作,而什么不能。本书是关于HTML和XHTML的权威资源,我们将详尽地讨论HTML
4.01 和XHTML 1.0 标准的所有元素,以及各种有趣且十分有用的语言扩展。我们还将讨论级联样式表(CSS)标准,因为它在网页开发中的应用越来越多。
另外,还有一些东西虽然不直接属于HTML,但是却和HTML 有着密切的关系。例如,我们曾接触过但是并没有深入研究的JavaScript、CGI和Java编程知识。JavaScript、CGI、Java 程序与HTML 文档紧密地结合在一起,它们随浏览器一起或者在浏览器之外运行,但却不是语言本身的一部分,所以我们并不准备对它们进行深入讨论。而且它们本来就是非常复杂的话题,需要专门的书籍来讨论,例如David Flanagan 编写的JavaScript: The Definitive guide,Scott Guelich、ShishirGundavaram 和Gunther Bitzneiks 合著的CGI Programming with Perl,Eric Meyer编写的Cascading Style Sheets: The Definitive Guide,以及Pat Niemeyer 和Jonathan Knudsen 合著的Learning Java(这些书均由O'Reilly 公司出版)。
本书还涵盖了我们能找到的所有扩展,因而这是一本HTML 和XHTML 的详尽资料。有些扩展甚至没有在其他任何地方记载过,在那些泛滥的在线帮助文档中也没有出现过。当然,如果读者发现本书有什么遗漏,请告诉我们,我们将在下一个版本里添加进去。
建议与评论
本书的内容都经过测试,尽管我们做了最大的努力,但错误和疏忽仍然是在所难免的。如果读者发现有什么错误,或者是对将来的版本有什么建议,请通过下面的地址告诉我们:
美国:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:100080 北京市海淀区知春路49 号希格玛公寓B 座809 室奥莱理软件(北京)有限公司
本书的网页上列出了勘误表、示例和任何额外的信息。可登录以下网址查询:
http://www.oreilly.com/catalog/html5/
http://www.oreilly.com/book.php?bn=978-7-302-14693-3
如果想要发表关于本书的评论和技术问题,请发邮件至:
bookquestions@oreilly.com
info@mail.oreilly.com.cn
关于图书、会议、资源中心和O'Reilly 网络的更多信息,请查看我们的站点:
http://www.oreilly.com
http://www.oreilly.com.cn
致谢
在本书的写作过程中我们得到了很多人的帮助。如果没有这些帮助,这本书就不可能完成。我们的妻子,Jeanne 和Cindy,还有我们的孩子们,Eva、Ethan、Courtney 和Cole
(当然是在我们写书之前他们就出生了)组成了强大的后盾。另外还有很多邻居、朋友和同事,他们与我们分享好的想法,帮我们测试浏览器,甚至让我们使用他们的设备来探索HTML。我们再次对他们表示衷心的感谢。
另外,我们还得感谢本书的技术审校:Chat Clussman、Patrick Krekelberg、Sam Marshall 和Shlomi Fish,是他们仔细地检查了本书的技术内容。我们采用了他们所提出的绝大多数富有建设性的建议。我们尤其要感谢O'Reilly 的编辑Mike Loukides 和Tatiana Apandi,是他们运用自己多年编辑工作的经验,使我们这两个不老实的家伙规规矩矩地写作。另外还要特别感谢Tatiana,是她坚持不懈的精神才使得本书第六版得以完成。
参与本书翻译的人员有:张洪涛、邢璐、靳京、徐亚莉、陈宗斌、李静、陈征、陈婷、陈红霞、管学岗、王新彦、金惠敏、张海峰、张瑜、许瑛琪、张靖、张景友、戴锋、张德福、张士华、张锁玲、杜明宗、高玉琢、王涛、许勇光、张新丽、乔健、徐丽萍、李杰、徐昌春、江辉、江丽华、彭青、王信花、郑来强、胡仁衡、郑来勇、薛秋丕、杨月华、丁桂英、赵琰、王晔、孙海霞和徐春艳等人。


















文章评论
共有 位CH网友发表了评论 查看完整内容