我即将为网页设计一个新的布局,并想利用这一刻来实现一些 html5 标记。
我首先想到的是语义元素(导航、标题、文章..)
检查http://caniuse.com/#feat=html5semantic后,我注意到 IE8(及以下)不支持这些元素。这可能意味着我无法对期望连贯结果的语义元素进行样式设置。
该网站从 IE7/8 浏览器收到大量流量,我不知道如何继续。我听说过modernizr 和html5shiv,但我不知道现在最好的标准是什么..
我即将为网页设计一个新的布局,并想利用这一刻来实现一些 html5 标记。
我首先想到的是语义元素(导航、标题、文章..)
检查http://caniuse.com/#feat=html5semantic后,我注意到 IE8(及以下)不支持这些元素。这可能意味着我无法对期望连贯结果的语义元素进行样式设置。
该网站从 IE7/8 浏览器收到大量流量,我不知道如何继续。我听说过modernizr 和html5shiv,但我不知道现在最好的标准是什么..
除了通过客户端脚本之外,没有办法让旧版本的 IE 识别新元素。如果您决定可以忽略非 JavaScript 的使用,您可以使用其他答案中提到的一些工具,或者您可以自己动手——该技术很奇怪,但根本不是火箭科学,例如
<script>
document.createElement('nav');
document.createElement('header');
document.createElement('article');
</script>
除了使用新元素之外,更强大的解决方案是使用div
带有class
(或)属性的标记,例如id
<nav><div="nav">...</div></nav>
并使用类(或 id)选择器(如.nav
. 这将是健壮的,它还将为您提供使用据称语义标记(如nav
. (从未出现过任何切实的好处,但也许会出现一些好处。)
因为您只是在寻找一种方法来设置 HTML5 元素的样式,所以请使用 HTML5Shiv(专为此目的而设计)。Modernizr 包含更多功能。你不会使用它(从问题来看)。
这是源代码,以防您想知道:https ://github.com/aFarkas/html5shiv/blob/master/src/html5shiv.js
您可以(并且应该?)使用它们。一定要让它们在旧浏览器中显示得很好,我推荐 html5shiv。
http://code.google.com/p/html5shiv/
我们在这里使用它:米德兰兹健康网络