注意:大多数问题都是1-3岁的这个问题。
解决方法
好了我从我的知识HTML5的一些标签是出于语义的原因。例如像下面。
<article> <section> <aside> <nav> <header> <footer> ..ect
这几乎是很好的工作,只需要一点CSS。显示:block;在大多数浏览器中正常工作,虽然在旧版浏览器即。 Internet Explorer您需要在Javascript中创建一个元素,以使其兼容。
这里是一个例子。
document.createElement('article');
将设置< article>元素在旧的Internet Explorer中使用。
对于需要Javascript功能的更高级的HTML5标签,有些类似于以下内容。
<audio> <video> <source> <track> <embed> And most importantly <canvas>
这些元素在旧版浏览器中更难以支持/ shiv。虽然我已经包括一个链接跨浏览器polyfills在底部,虽然我没有亲自调查他们。
所以我会说,任何不需要Javascript功能的元素完全可以使用一小部分跨浏览器支持代码。
如果您的定位> IE8那么你应该很好,如果你使用shiv。
我叫什么旧的浏览器? < IE9 浏览器对HTML5标签的支持是。
<section>,<article>,<aside>,<header>,<footer>,<nav>,<figure>,<figcaption>,<time>,<mark>
Internet Explorer不支持小于8,但可以这样修复。
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>不支持IE 9
< embed>元素在> IE8
您还应该查看此标记。
<Meta http-equiv="X-UA-Compatible" content="IE=edge">
这个元标记告诉Internet Explorer以最高IE模式显示页面,而不是进入兼容模式,并渲染页面为IE7或8。更多信息Here。
HTML5助手链接
For a Kick Start you can check out 07001
For browser compatibility support tables you can check out – 07002
HTML5 Shiv – 07003
List of HTML5 Polyfills – 07004
更新
正如评论中提到的
Be careful with the Meta tag X-UA-Compatible. If you use something like html5 boilerplate that has conditional comments surrounding the element (this also happens with the html5 doctype IIRC),you may run into problems with IE9 forcing itself into IE7 standards mode even with the tag. IE strikes again
你可能想看看这个,我没有什么可以支持这一刻。