Sjoerd Visscher 发现了一个简洁的 方法 让样式在 IE 中作用到未知的元素上——仅需 JS 创建此未知元素即可:
document.createElement(elementName)
同理(对于 IE 来说 HTML5 元素即是未知元素),该方法也可顺延到 HTML5 的元素上(详细见:John Resig 写的 《HTML5 Shiv》 一文):
<html>
<head>
<style>section { color: red; }</style>
<script>document.createElement("section")</script>
</head>
<body>
<section>Hello World!</section>
</body>
</html>
在 IE 中,为了更方便使用 HTML5 元素,我们可以引入这样的脚本:
(function(){
// from: http://dean.edwards.name/weblog/2007/03/sniff/
if(!/*@cc_on!@*/0) return;
var html5 = "abbr,article,aside,audio,bb,canvas,datagrid,datalist,details,dialog,eventsource,figure,footer,hgroup,header,mark,menu,meter,nav,output,progress,section,time,video".split(',');
for(var i = 0, len = html5.length; i < len; i++ ) {
document.createElement(html5[i]);
}
})();
详细具体应用的案例如下:
witter:
共有23 条评论
学习了。很独特的构思,为什么我想不到呢。
HTML5路漫漫,我们只能静静地等待它吧。。。
一下子接受不了,慢慢看吧。。。
HTML 5 在成为正式标准之前最好不用。
这样只是使元素能够呈现css样式吧,不能使那些元素真正的发挥作用…
重量级的html5元素都没得用…
这个方法Apple.com早就用上了!
ie6能用么
@布里斯班 IE6可以用的,测试一下就知道了,呵呵
好像现在还没什么用
不过思路挺好
不知道怿飞看到过ie下用canvas 这个元素没?
有个日本人开发了JS 专门可以让IE支持这个元素 很酷的
你可以去查查
你们大家难道都没有发现上面提供的脚本有个低级的错误!?没发现多了个符号么?…
@小林子里 for少了一个左括号…你眼真细呢!
[...] 如何在 IE 中使用 HTML5 元素 [...]
现在很少用IE了…
不知道IE最终的命运会是怎样
同意4楼的观点,新技术没有成型前最好别用,当然尝鲜的除外·
默然回首,才发现,已经有html5了?
我有一种使用html5的冲动了,
可以用来增加使用那些结构性元素——语义化,省下很多div。
还在使用xhtml2,等html5普及了再用吧
[...] 如何在 IE 中使用 HTML5 元素 http://www.planabc.net/2009/06/13/how_to_use_html5_elements_in_ie/ Preparing for HTML5 with Semantic Class [...]
用html 5可以躲避xml parsing error,是个好东西~回去就把我的wp进化到html 5!
html 5对FLASH有威胁了,什么时候浏览器都支持呢。