【发布时间】:2011-09-22 09:51:20
【问题描述】:
可能是我的问题听起来很愚蠢,但我想知道是否可以让 Internet Explorer(7 和 8)识别 HTML5 标签,如页眉、页脚、部分、旁边等,而不使用 javascript 即。仅使用 css?
谢谢
【问题讨论】:
可能是我的问题听起来很愚蠢,但我想知道是否可以让 Internet Explorer(7 和 8)识别 HTML5 标签,如页眉、页脚、部分、旁边等,而不使用 javascript 即。仅使用 css?
谢谢
【问题讨论】:
不行,不行,你得用JS
你可以创建元素..例如
document.createElement("header");
document.createElement("footer");
document.createElement("section");
document.createElement("aside");
或
这个链接可能对How can I use HTML5 in all browsers including IE7,8?有帮助
【讨论】:
IE8 早于 HTML5 规范发布,因此 IE7 和 IE8 都不支持任何 HTML5 功能也就不足为奇了。
唯一 让 IE8 或更早版本识别和支持它不知道的元素的方法是使用 Javascript hack。此 hack 以 HTML5Shiv 的形式独立提供,也内置于 Modernizr 特征检测库中。
没有其他方法可以让 IE 与 HTML5 一起工作。因此,您问题的基本答案是“否”。对不起。没有纯 CSS 的解决方案。 (事实上,即使是 Javascript 解决方案也是一种 hack,它的存在更多的是靠运气;它当然不是 MS 打算写入 IE 的东西)
如果您不想进行 Javascript hack,那么最好的选择就是根本不使用 HTML5 标签;改用 <div> 元素,并带有适当的语义类名。
当然,即使有了这个 hack,你所做的只是让 IE 识别出新标签是有效的 HTML;您实际上并没有向 IE 添加任何功能,因此使用任何提供新功能的 HTML5 东西(例如 Canvas 或新的输入类型)仍然无法正常工作。其中许多功能都有单独的 Javascript 工具,但如果您尝试做很多事情,请注意性能问题(IE7/8 在最好的情况下并不是很快)。
【讨论】:
有可能http://debeterevormgever.nl/en/articles/html5-elements-ie-without-javascript
但它不会验证
html
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html5="http://www.w3.org/1999/xhtml">
<body>
<html5:section>...</html5:section>
</body>
</html>
css
html5\:section, #element-id, .element-class {
...
}
【讨论】:
不,这是不可能的。这就是使用 JS 垫片的原因。
【讨论】: