我要设计一个新的布局网页,想利用这个机会的优势,实现一些HTML5标记。HTML5语义元素和旧浏览器
附带在我脑海里的第一件事是语义元素(NAV,标题,文章..)
检查http://caniuse.com/#feat=html5semantic后,我注意到,IE8(及以下)不支持的元素。 这可能意味着我无法设计预期一致结果的语义元素。
网站收到来自IE7/8浏览器相当多的流量,我不知道如何着手。 我听说modernizr和html5shiv,但我不知道现在最好的标准是什么..
我要设计一个新的布局网页,想利用这个机会的优势,实现一些HTML5标记。HTML5语义元素和旧浏览器
附带在我脑海里的第一件事是语义元素(NAV,标题,文章..)
检查http://caniuse.com/#feat=html5semantic后,我注意到,IE8(及以下)不支持的元素。 这可能意味着我无法设计预期一致结果的语义元素。
网站收到来自IE7/8浏览器相当多的流量,我不知道如何着手。 我听说modernizr和html5shiv,但我不知道现在最好的标准是什么..
因为您只是在寻找一种方法来设计HTML5元素的样式,所以请使用HTML5Shiv(专为此目的而设计)。 Modernizr包含更多功能。你不打算使用(由问题来判断)。
这里的源代码,如果你想知道:https://github.com/aFarkas/html5shiv/blob/master/src/html5shiv.js
你可以(也应该?)使用它们。请确保它们在旧版浏览器中显示正常,我推荐html5shiv。
http://code.google.com/p/html5shiv/
在这里,我们用它:Midlands Health Network
你可以样式。您只需运行HTML5shiv或Modernizr即可。您还需要添加一些CSS,以使其在默认情况下被阻止。
article, header, nav, section, footer
{
display: block;
}
有没有需要手动添加使用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
@RobW够了。我很习惯这样做,我不再考虑它了(它在我的reset.css文件中)。不错,但是。 :) – 2012-07-26 10:35:39
有没有办法让IE的旧版本认识到除了通过客户端脚本的新元素。如果你认为非JavaScript的使用是可以忽略的,你可以使用其他答案中提到的一些工具,或者你可以自己做 - 技术很奇怪,但根本不是火箭科学。
<script>
document.createElement('nav');
document.createElement('header');
document.createElement('article');
</script>
更健壮的解决方案是使用div
标记与class
(或id
)属性,除了使用新的元件,例如
<nav><div="nav">...</div></nav>
并使用类别(或ID)选择器如.nav
设置您的样式。这将是强大的,它也可以给你使用据称的语义标记,如nav
的好处。 (没有实实在在的好处曾经被提出,但也许有些人会出现。)
不要忘了在这里接受一个答案(和你的其他问题),如果他们解决(d)你的问题。低“接受”率最终会阻止用户回答您的问题。 – 2012-07-27 19:20:08