你问过哪些 HTML5 标记要远离。
嗯,据我所知,HTML5 中的一些标签是出于语义原因而制作的。像下面的例子。
<article> <section> <aside> <nav> <header> <footer> ..ect
这些几乎都可以使用,并且只需要一点 CSS,例如。 display: block; 在大多数浏览器中正常工作,但在旧浏览器中。 Internet Explorer 您需要在 Javascript 中创建一个元素才能使其兼容。
这是一个例子。
document.createElement('article');
将设置 <article> 元素以在旧版 Internet Explorer 中使用。
对于需要 Javascript 功能才能工作的更高级的 HTML5 标记,如下所示。
<audio> <video> <source> <track> <embed> And most importantly <canvas>
这些元素在旧版浏览器中更难支持/shiv。虽然我在底部包含了一个跨浏览器 polyfill 的链接,尽管我没有亲自调查过它们。
所以我想说,任何不需要 Javascript 功能的元素都可以与少量跨浏览器支持代码一起使用。
如果您的目标是 >IE8,那么使用 shiv 应该没问题。
什么叫旧版浏览器?
目前浏览器支持 HTML5 标签。
<section>, <article>, <aside>, <header>, <footer>,
<nav>, <figure>, <figcaption>, <time>, <mark>
低于 8 的 Internet Explorer 不支持,但可以这样修复。
CSS:
section, article, aside, header, footer, nav, figure, figcaption{
display: block;
}
time, mark {
display: inline-block;
}
Javascript:
var elements = ['section', 'article', 'aside', 'header', 'footer', 'nav', 'figure', 'figcaption', 'time', 'mark'];
for( var i = 0; i < elements.length; i++ ) {
document.createElement(elements[i]);
}
不支持<audio> <video> <canvas>
<embed> 元素在 > IE8
中有部分支持
你也应该看看这个标签。
<meta http-equiv="X-UA-Compatible" content="IE=edge">
meta 标记告诉 Internet Explorer 以可用的最高 IE 模式显示页面,而不是进入兼容模式并像 IE7 或 8 那样呈现页面。更多信息Here。
HTML5 帮助链接
如需快速入门,您可以查看 HTML5 BoilerPlate
有关浏览器兼容性支持表,您可以查看 - http://caniuse.com/
HTML5 Shiv - https://github.com/afarkas/html5shiv
HTML5 Polyfill 列表 - https://github.com/Modernizr/Modernizr/wiki/...
更新
如评论中所述
注意元标记 X-UA-Compatible。如果您使用诸如 html5 样板之类的东西,其元素周围有条件 cmets(html5 doctype IIRC 也会发生这种情况),您可能会遇到 IE9 强制自身进入 IE7 标准模式的问题,即使使用标签也是如此。 IE又来了
你可能想调查一下,我目前没有任何支持。