4.1 HTML5 的哪些部分现在就能用
虽然完整的HTML5规范尚待批准,但是现代浏览器都不同程度地支持HTML5的大多数新特性,这些浏览器包括Safari、Google Chrome、Opera、Mozilla Firefox,而且还有IE9!当前HTML标准草案的内容最终未必全都会出现在W3C推荐标准中,但其中有很大一部分新特性现在已经可以用了。
4.1.1 大多数网站可以用HTML5编写
现在,当我接到制作网站的任务,选择的默认标签会是HTML5而不是HTML 4.01。和几年前的情况完全相反,现在,你得给网站不使用HTML5标签一个说得过去的理由。所有现代浏览器都能够正确理解常见的HTML5新特性(新的结构元素、视频和音频标签),而对老版本的IE则可以使用腻子脚本来弥补我所遇到过的所有缺陷。
什么是腻子脚本?
腻子脚本(polyfill)这个词由Remy Sharp提出,意指使用腻子来补平老版本浏览器的缺陷。因此,腻子脚本具体指的是一段能给老版本浏览器带来新特性的JavaScript代码。值得注意的是,腻子脚本会给你的代码里追加多余的代码。因此,就算你添加3个腻子脚本可以让Internet Explorer 6中网站的渲染效果与其他浏览器一模一样,也并不意味着你一定要这么做!
4.1.2 腻子脚本和Modernizr
通常,老版本的Internet Explorer(IE9以前的版本)并不识别HTML5的任何新语义元素。但是不久前,Sjoerd Visscher发现如果先使用JavaScript创建这些元素,那Internet Explorer就能识别这些元素并可为其设置样式。基于这一发现,JavaScript专家Remy Sharp开发了一个轻量级的增强脚本(http://remysharp.com/2009/01/07/html5-enabling-script/),在HTML5网页中引入该文件后,就能神奇地让老版本IE支持新HTML元素。长期以来,HTML5的先驱们都会在页面中嵌入该脚本,以便让使用IE 6、7的用户享受和现代浏览器一样的体验。
不过此事现在有了更重大的进展。这个领域上出现了一个新丁,它能做到比刚才说的更多的事情。它的名字叫Modernizr(http://www.modernizr.com),如果你正在编写HTML5页面,它很值得你去关注。除了能让IE支持HTML5新元素之外,它还能够基于一系列特性测试来有条件地加载更高级的腻子脚本(polyfill)、CSS文件以及额外的JavaScript文件。几乎没有什么理由不使用HTML5,所以我们将开始写一点HTML5风格的页面。
想找一种编写优秀HTML5代码的捷径?可以考虑HTML5样板文件
如果你时间紧迫,但却需要一个好的项目起点,可以考虑使用HTML5样板文件(http://html5boilerplate.com/)。样板文件是一个预先做好的融合了“最佳实践”HTML5文件,包含一些基本样式(如之前提到过的normalize.css)、polyfill和一些必要的工具如Modernizr。它还包含一个自动合并CSS和JS文件、自动删除注释以生成生产环境代码的构建工具。强烈推荐!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论