HTML5 – 新旧语法简介

jopen 10年前

众所周知,HTML是互联网有史以来最伟大的发明。这种超文本标记语言实际上是现代互联网发展的一个基石,以它为中心出现了一个独特的自给自足的体系。
html5-tags-semantics3.jpg

当开发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年互联网的发展寄予厚望。 今天,这些新标记和语义看起来的确是很棒,我们都很喜欢,但别忘了,任何东西都是在不断变化着来适应人们的需求,新的语言特征必须依赖于人们的使用,互联 网社区的大量使用 – 只有这样才能使单纯的新事物变成有用的新事物。

来自:http://www.vaikan.com/html5-new-old-semantics/