我正在建立一个网站,需要 IE 8 支持。我正在使用 HTML5 语义元素(主要、部分、文章、导航、页眉和页脚)。
我知道这些不应该在 IE 8 中工作,所以我包含了 html5shiv。并将所有元素设置为display: block;
.
我的布局在 IE 8 中仍然是一团糟……所以我为所有语义元素添加了类,并使用这些类为 CSS 中的元素设置样式。
现在布局是正确的,我似乎不再需要 html5shiv。
这甚至可能吗?您可以在不使用 html5shiv 的情况下使用类来设置语义元素的样式吗?如果是这样,为什么要使用 html5shiv?
nav {color: red}
不起作用,但是
<nav class="nav">
.nav {color: red}
没有 html5shiv 似乎可以工作。有人可以证实这一点吗?
编辑:经过仔细测试,我发现了以下内容:
当页面上有 SVG 元素(在 IE 8 中不会呈现)时,语义元素可以使用类进行样式设置,而无需使用 html5shiv。这很奇怪,可能是 IE 8 中的某种错误。