我已经挣扎了几天让我的网站在IE8上看起来正确(因为愚蠢的银行没有更新他们的浏览器),而且我已经缩小了一点。
我使用HTML5标签(IE8不支持)因为我不能忍受不必要的div汤。我使用着名的HTML5shiv来获取section
和article
等HTML元素,以便在IE8中运行。看来IE8在这些标记名中仍然不可靠。
以下是一个例子:
<html>
<head>
<title>ie8</title>
<script id="html5shiv_script">/*blah blah*/</script>
<style>
section{display:block;}
article{display:block;background:green;}
article.first + article{font-size:72px;}
article.first{color:yellow;}
article:first-child{background:blue;}
</style>
</head>
<body>
<section>
<article class="first">One</article>
<article>Two</article>
<article>Three</article>
<article>Four</article>
<article>Five</article>
</section>
</body>
</html>
链接:http://www.webnotes.xyz/ie8.html
我无法找到有关IE8中未应用这两种样式的原因:
article.first + article{font-size:72px;}
article:first-child{background:blue;}
我不能从中推断出任何东西,因为IE8应该支持这些选择器,而在我的个人网站中,我已经将这些选择器与类切换,但它仍然无效。
我通过谷歌搜索找不到任何相关信息。任何人都可以解释为什么在IE8中忽略这些样式?
重要编辑:我刚才意识到这在IE9中也不起作用。
答案 0 :(得分:0)
我在保险公司的内部网站上遇到了类似的问题。默认情况下,IE将强制Intranet站点进入兼容模式,从而打破您的选择器。
IE假设显示内部网站点 (http://someInternalSite/与http://someInternalSite.myCompany.org)。 这种假设是Intranet站点在兼容性方面效果最好 模式。
如果是这种情况,那么this Stack Overflow answer可能有所帮助。
此外,我相信网络管理员可以创建一个组策略来强制IE进入兼容模式。 Reference
答案 1 :(得分:0)
我弄清楚为什么我发布的示例无效。这是因为我忘了包含doctype。顶部的<!DOCTYPE html>
使一切正常。我仍然不知道为什么我正在处理的实际网站不起作用,因为它有<!DOCTYPE html>
...回到绘图板!