3

我要设计一个新的布局网页,想利用这个机会的优势,实现一些HTML5标记。HTML5语义元素和旧浏览器

附带在我脑海里的第一件事是语义元素(NAV,标题,文章..)

检查http://caniuse.com/#feat=html5semantic后,我注意到,IE8(及以下)不支持的元素。 这可能意味着我无法设计预期一致结果的语义元素。

网站收到来自IE7/8浏览器相当多的流量,我不知道如何着手。 我听说modernizr和html5shiv,但我不知道现在最好的标准是什么..

+0

不要忘了在这里接受一个答案(和你的其他问题),如果他们解决(d)你的问题。低“接受”率最终会阻止用户回答您的问题。 – 2012-07-27 19:20:08

回答

3

你可以样式。您只需运行HTML5shivModernizr即可。您还需要添加一些CSS,以使其在默认情况下被阻止。

article, header, nav, section, footer 
{ 
    display: block; 
} 
+0

有没有需要手动添加使用HTML5Shiv或Modernizr的时候默认的风格,因为他们已经增加(见[HTML5Shiv的源代码(https://github.com/aFarkas/html5shiv/blob/master/src/html5shiv的.js#L209),Modernizr的[包括HTML5Shiv](https://github.com/Modernizr/Modernizr/blob/master/modernizr.js#L998))。 – 2012-07-26 10:31:25

+0

@RobW够了。我很习惯这样做,我不再考虑它了(它在我的reset.css文件中)。不错,但是。 :) – 2012-07-26 10:35:39

3

有没有办法让IE的旧版本认识到除了通过客户端脚本的新元素。如果你认为非JavaScript的使用是可以忽略的,你可以使用其他答案中提到的一些工具,或者你可以自己做 - 技术很奇怪,但根本不是火箭科学。

<script> 
document.createElement('nav'); 
document.createElement('header'); 
document.createElement('article'); 
</script> 

更健壮的解决方案是使用div标记与class(或id)属性,除了使用新的元件,例如

<nav><div="nav">...</div></nav> 

并使用类别(或ID)选择器如.nav设置您的样式。这将是强大的,它也可以给你使用据称的语义标记,如nav的好处。 (没有实实在在的好处曾经被提出,但也许有些人会出现。)