HTML5语义标签(文章,页脚,标题)的降级问题

时间:2010-06-03 15:18:21

标签: html5 cross-browser

HTML5中的新布局代码的降级程度如何?使用它们有什么危害? (我不是在谈论<video> - 我已经看到了具体的回退代码。)

具体来说,在类似

的情况下
<html>
<head></head>
<body>
<header>
<h1>Talking Dogs</h1>
<b><p>Humans aren't the only talkers!</p></b>
</header>
<article>
<p>Ever encountered a talking dog? I have.</p>
<p>It all happened one day as I was walking down the street...</p>
</article>
<footer>
© 2009 Woofer Dog Corporation
</footer>
</body>
</html>

使用<header><article><footer>会导致任何浏览器问题吗?它们会在不受支持的浏览器中自动降级为<div>吗?或者,如果我包含它们,我应该只将它们包含在语义中,而不是包含CSS样式或DOM脚本吗?

3 个答案:

答案 0 :(得分:33)

只要您使用html5shiv来处理IE,它就能正常工作。

浏览器会将所有未知标记(包括HTML5标记)视为普通的内联元素 您应该包含以下CSS规则:

article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }

答案 1 :(得分:1)

对于演示文稿,无论如何你都会使用CSS,所以如果浏览器理解标签本身并不重要。

答案 2 :(得分:0)

HTML 5标签在IE中不受支持,标签仍处于非活动状态。要在IE中激活语义HTML5标记,请在头部中使用以下脚本。

<!--[if IE]>
<script type="text/javascript">
(function(){
var html5elmeents = "address|article|aside|audio|canvas|command|datalist|details|dialog|figure|figcaption|footer|header|hgroup|keygen|mark|meter|menu|nav|progress|ruby|section|time|video".split('|');
for(var i = 0; i < html5elmeents.length; i++){
document.createElement(html5elmeents[i]);
}
}
)();
</script>
<![endif]-->