技术开发 频道

网站从业人员必读:HTML5的流言与真相

  “俺的浏览器支持HTML5,你的不支持。”

  这一流言认定HTML5是一个整体不可分割的标准。但实际上不是。正如前文所说,HTML5是一组新特性的组合。因此,短期来讲,你不能说一个浏览 器支持了HTML5的所有内容。而当浏览器能做到这点时,浏览器本身已经无关紧要了,因为那时我们将被新一代的HTML语言所震撼。

  感觉HTML5乱的一塌糊涂,是吧?看看CSS2.1,这么多年了它都是一个尚未最终完成的标准,但是我们每个人无时不在用它。我们用CSS3轻松添加圆角,这点很快就会得到所有浏览器的支持,虽然CSS3的其他特性尚未得到所有浏览器的支持。

  要提防那些浏览器“评分”网站。这些网站测试的内容经常与HTML5无关,比如CSS,SVG,甚至是网页字体(web fonts)。你手头需要完成的工作才是要紧的,你客户受众浏览器所支持的技术才是用得上的技术。

  HTML5实际上正式认可了一些常见的书写错误(Tag Soup)

  HTML5在语法方面要比XHTML松散很多:比如,你可以用纯大写或小写字母书写标签,甚至大小写混用也无妨。你无需对img这类的标签做自封闭处理(self-close),因此下面这两种写法都是合法的:

  1 《img src=”nice.jpg” /》

  2 《img src=”nice.jpg”》

  标签属性也无需用双引号括起来,因此下面这两种写法都是合法的:

  1 《img src=”nice.jpg”》

  2 《img src=nice.jpg》

  使用大写或小写(甚至混用)字母都可以,所以下面三种写法也都是合法的:

  1 《IMG SRC=nice.jpg》

  2 《img src=nice.jpg》

  3 《iMg SrC=nice.jpg》

  这与HTML4毫无差异,但是如果你用习惯了XHTML,你碰到这种写法时还是会很震惊的。现实中,如果你使用HTML和文本内容书写页面,而非使 用XML(你极有可能是混用文本和HTML书写页面的,因为IE8并不能真正的渲染XHTML页面),那么上述细微差别也无关紧要:浏览器会忽略尾部的斜杠,双引号,以及大小写。

  HTML5语法看似松散,但实际的解析规则要严格的多。因而HTML5中,常见的书写错误(Tag Soul)将不复存在;HTML5的规范对这些无效标记做精确的描述和定义,因此所有遵循规范的浏览器都会生成同样的文档对象模型(DOM)。如果你曾写 过JavaScript来遍历DOM,那么你就会对DOM不一致所带的恐怖经历有所体会。

  但这种修正不应导致无效代码泛滥。HTML5为你创建的DOM可能并不是你想要的那个,因此对书写的HTML5代码进行验证仍然至关重要。随着新特 性的大量涌入,对细小语法错误的忽视会让你的脚本失效,或是CSS样式出错,这也是我们为什么需要HTML5验证器的原因之所在。

  HTML5远不仅仅只是让一些常见的书写错误合法化,而且让这些常见错误(Tag soup)成为历史。赞。

  “我需要把我的网站从XHTML转换HTML5。”

  HTML5对松散语法的包容性时候敲响的了XHTML的丧钟吗?制定XHTML2规范的工作组已经解散,对吧。

  没错,XHTML2的工作组在2009年年末的时候解了。他们起草的这个规范是用来与HTML5竞争的,但尚未得到执行实施,然而,同时保留两队人 马是对W3C组织资源的一种浪费。另外XHTML1已经是一个业已完成的规范,得到所有浏览器的广泛支持,并在必须的时限内仍将得到所有浏览器的支持。因 此你用XHTML书写的网站也将免受折腾之苦。

0
相关文章