HTML5 – 新旧语法简介
众所周知,HTML是互联网有史以来最伟大的发明。这种超文本标记语言实际上是现代互联网发展的一个基石,以它为中心出现了一个独特的自给自足的体系。
当开发HTML5时,它的设计者们正面对着一些很重要的问题,希望能在HTML5里解决。其中的一个问题是,要创建一个真正简洁明了而且易于扩展的语义。目前这个问题中棘手的部分是老版本的HTML当时是以功能多样的理念为目标设–大量的各种各样的标记,当时认为都是一些基本的标记,但如今证明完全是没有什么用途的。HTML5的目的就是要根据目前互联网的状况对其进行改进。
HTML5 的新标记
设计者们需要完成的任务是要给HTML5开发一个更丰富的和更有含义的语义–当然可以想象这种新方案将会是很灵活和很高效的,同时与所有的现代互联网标准相适应。下面就是一些将要在HTML5里新加入的标记.
- <article> 标记定义一篇文章
- <aside> 标记定义页面内容部分的侧边栏
- <audio> 标记定义音频内容
- <canvas> 标记定义图片
- <command> 标记定义一个命令按钮
- <datalist> 标记定义一个下拉列表
- <details> 标记定义一个元素的详细内容
- <dialog> 标记定义一个对话框(会话框)
- <embed> 标记定义外部的可交互的内容或插件
- <figure> 标记定义一组媒体内容以及它们的标题
- <footer> 标记定义一个页面或一个区域的底部
- <header> 标记定义一个页面或一个区域的头部
- <hgroup> 标记定义文件中一个区块的相关信息
- <keygen> 标记定义表单里一个生成的键值
- <mark> 标记定义有标记的文本
- <meter> 标记定义 measurement within a
predefined range - <nav> 标记定义导航链接
- <output> 标记定义一些输出类型
- <progress> 标记定义任务的过程
- <rp> 标记是用在Ruby annotations 告诉那些不支持 Ruby元素的浏览器如何去显示
- <rt> 标记定义对ruby
annotations的解释 - <ruby> 标记定义 ruby annotations.
- <section> 标记定义一个区域
- <source> 标记定义媒体资源
- <time> 标记定义一个日期/时间
- <video> 标记定义一个视频
希望所有的这些标记都能成为真正”有生命力“的和有用的标记,而不是只是今天看来是很酷的标记。
HTML5 的减负–旧的标记,永别了…
你是否很记得那个古老的年代,HTML3被当成一种只能在Netscape里运行的神奇的东西?是的,那就是互联网时代的黎明初现。我们当然不会忘记那段历史,但向一些优秀的却陈旧的东西说再见也是合乎情理的(特别是当它们目前不被认为那么好用,或已没有人再注意它们的时候时)。
因此,HTML5的设计者们废除了一些老的标记,因为这些标准只有那些HTML怪才才会使用,也因为这些标记已经完全失去用处,新的HTML标记里将不会再包括它们–我想我们应该就此感谢这些设计者们。毕竟是这些标记实在是太老旧了,以至于可以想象,20年后我们的孩子们会认为只有莎士比亚在他的十四行诗里才会用到。不管怎样,还是让我们到互联网博物馆里再看它们一眼吧(真有这样的博物馆吗?)。
- <acronym> 标记定义 an acronym.
- <applet> 标记定义 an embedded applet.
- <basefont> tag specifies a default
font-color, font-size, or font-family for all the text in a document. - <big> tag is used to format the text one
size bigger, and can be in relation to your <font> or
<basefont> size, if you’ve specified either one. - <center> tag is used to center text.
- <dir> tag is used to list directory titles.
- <font> tag specifies the font face, font
size, and font color of text. - <frame> 标记定义 one particular window
(frame)within a frameset. - <frameset> 标记定义 a frameset. The
frameset element holds two or more frame elements. Each frame element
holds a separate document. - <s> and <strike> tags
define strikethrough text. - <tt> tag is used for “typetype” text, or
fixed-width typewriter-type font. Other than the different type style,
it has normal font characteristics - <u> tag is used to underline text.
这些标记基本上都没有什么用处了(也许你会觉得有几个标记和HTML5里的新标记有些相似)。其中一些我们在早期的旧版的浏览器里使用过,但如今已经失去其作用,而另一些标记的功能已经被CSS功能所取代了(例如设置字体和文本样式的标记)。
关于<DIV> 标记的重要问题
使用新标记替换掉<div> 标记是HTML5在语义方面的主要成就。这 <div> 标记是HTML4里是一个重要的(现在仍是)的标记,在HTML里被广泛使用,但是它所表达的语义太弱,在声明网页组织结构里不同的区块的任务面前它毫无用武之地。新的HTML5标记–例如<article>, <aside>, <nav>, <figure>, <header>, <footer> –会更有用和更方便,这些标记能够让你指明网页不同区域的用途,清楚的显示网站的结构。这意味着即使你是个新手或中等的程序员,仅依据HTML代码就能清楚的了解整个页面的结构–更值得一提的是搜索引擎将会因为能如此方便的解析页面的结构而会高兴的发狂的。
对我们有什么好处?
关于新标记和语义的价值的讨论已经很多,有些人认为这些语义以及可视化表现方式没有任何意义–因为它们带来的是更复杂的代码,创造了使用这些新HTML代码犯新错误的机会,HTML5新语义的价值在于提升了网站用户和这些技术之间的交互和协作的水平,这是使互联网前进的原因。
同样的道理–我们应该明白,就像HTML5给我们的感觉是那样酷一样,人们在其上付出了很多的努力,对未来5年互联网的发展寄予厚望。今天,这些新标记和语义看起来的确是很棒,我们都很喜欢,但别忘了,任何东西都是在不断变化着来适应人们的需求,新的语言特征必须依赖于人们的使用,互联网社区的大量使用–只有这样才能使单纯的新事物变成有用的新事物。