IE8 html5shiv ...并未应用所有样式

时间:2015-04-13 16:19:34

标签: css html5 internet-explorer-8 html5shiv

我已经挣扎了几天让我的网站在IE8上看起来正确(因为愚蠢的银行没有更新他们的浏览器),而且我已经缩小了一点。

我使用HTML5标签(IE8不支持)因为我不能忍受不必要的div汤。我使用着名的HTML5shiv来获取sectionarticle等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中也不起作用。

2 个答案:

答案 0 :(得分:0)

我在保险公司的内部网站上遇到了类似的问题。默认情况下,IE将强制Intranet站点进入兼容模式,从而打破您的选择器。

  

IE假设显示内部网站点   (http://someInternalSite/http://someInternalSite.myCompany.org)。   这种假设是Intranet站点在兼容性方面效果最好   模式。

Reference

如果是这种情况,那么this Stack Overflow answer可能有所帮助。

此外,我相信网络管理员可以创建一个组策略来强制IE进入兼容模式。 Reference

答案 1 :(得分:0)

我弄清楚为什么我发布的示例无效。这是因为我忘了包含doctype。顶部的<!DOCTYPE html>使一切正常。我仍然不知道为什么我正在处理的实际网站不起作用,因为它有<!DOCTYPE html> ...回到绘图板!