Html 在IE 8及以下版本中,标题消失,列表未设置样式
我注意到,在IE8及以下版本中,我的标题消失了,列表也没有样式 也就是说,他们看起来和他们应该做的不一样,而且他们有子弹 为什么会发生这种情况,我如何修复它 我知道我还没有包括html5垫片/html5 shiv,这会导致标题消失吗?我的Html 在IE 8及以下版本中,标题消失,列表未设置样式,html,css,Html,Css,我注意到,在IE8及以下版本中,我的标题消失了,列表也没有样式 也就是说,他们看起来和他们应该做的不一样,而且他们有子弹 为什么会发生这种情况,我如何修复它 我知道我还没有包括html5垫片/html5 shiv,这会导致标题消失吗?我的元素和列表样式如何 以下是发生这种情况的页面链接: 以下是IE8中的外观:旧版IEs不呈现HTML5标记,因此应用于它们的样式将被忽略。(它们甚至不渲染为块,比如“哦,好吧,让我们假设它是一个div”。不,它完全被忽略) 是的,正如您所说,最好是添加到代码的标题
元素和列表样式如何
以下是发生这种情况的页面链接:
以下是IE8中的外观:旧版IEs不呈现HTML5标记,因此应用于它们的样式将被忽略。(它们甚至不渲染为块,比如“哦,好吧,让我们假设它是一个div”。不,它完全被忽略) 是的,正如您所说,最好是添加到代码的标题中,如下所示:
<!--[if lt IE 9]>
<script src="path/to/your/shiv.js"></script>
<![endif]-->
作为一项建议,如果你的主要受众使用IE<9,那么目前仍然使用idid
等于你实际想要的HTML5标签的div。比使用.js更好(如果禁用了.js,布局将像现在一样崩溃)。当旧IEs不受更多支持时,搜索和替换id与所需标记相同的文档将更容易
更新:
您的css是main ul,[role=“main”]ul,#main ul
,但由于IE不知道标记main是什么,它会抛出ul,因此,您的css选择器不匹配。在这幅图中,所有他不知道的元素,他都转换成一个空元素:
左边是它实际渲染的代码,右边是真正的源代码。正如您所看到的,UL超出了
main
,如中所示,IE8没有很好地处理HTML5元素。它不仅没有设计这些元素的样式,而且有时(正如您所看到的)会使它们看起来完全消失。我在我的团队开发的网站上亲眼目睹了这一点。IE8将我们使用的所有
标签都转换成了
,这将我们所有的内容和样式都搞乱了。您需要使用来让它工作(为我们修复了它,HTML5 shiv脚本只是其中的一部分,但您可能至少只需要shiv脚本)。HTML5元素中的列表如何?这是一个应该支持的旧元素,但在IE8中的样式不同…@IrfanMir问题在于它在HTML5元素中的存在。如果您将HTML5元素更改为受支持的元素(如div
),或者完全删除包含的元素/将列表移出元素(当然,还可以更改样式规则以匹配),那么它应该在不使用shiv脚本的情况下正确呈现。HTML5元素中的列表如何?这是一个应该支持的旧元素,但在IE8中的样式不同…@IrfanMir您的css是main ul、[role=“main”]ul、#main ul
,但由于IE不知道标签是什么,它将ul抛出。在这幅图中,他不知道的所有元素,都转化为一个空元素:啊,好的。非常感谢您的澄清。但即使是我选择了上面的答案,谢谢。我之所以选择这个答案,是因为即使是在你的答案出现的同一分钟,我还是第一次看到了他/她,他首先回答了我关于- 的问题。很抱歉,我也不能选择你的。但我对两者都投了赞成票。
.someRoundCorner {
border-radius:4px;
behavior:url(path/to/css3pie/htc);
}