2011-06-27 63 views
5

我有一个很奇怪的问题,那就是没有在IE8中加载CSS样式(也许IE7以及无法检查)。我的网站是在http://www.leavetrackapp.com/和我的主人的CSS文件如下:未在IE8中加载CSS样式

@import url("reset.css"); 
@import url("screen.css"); 
@import url("site.css"); 
@import url("colorbox.css"); 

的master.css文件和indidivual样式表是可访问的,如果我直接在浏览器例如输入地址http://www.leavetrackapp.com/stylesheets/master.css返回主文件。

我认为这是导入规则的问题,但不知道它可能是什么。 Safari和Firefox工作正常。

任何意见赞赏。

感谢

罗宾

+0

'reset.css'和'screen.css'肯定会被加载。你确定这是一个没有被加载的样式表的情况,而不是语法中的IE不兼容? –

+0

+1,IE开发者工具正在读取所有的css文件 – shanethehat

+0

开发工具告诉我没有样式被加载。 CSS验证器抛出了很多错误,但都与CSS3属性相关(如果我在CSS3验证,它会通过)。不知道如果IE8窒息了一些CSS3属性... –

回答

9

@Guffa让我走上正轨:问题在于HTML5元素在Internet Explorer 8及更低版本中无法正常工作。

Modernizr的解决这个问题,但是:http://www.modernizr.com/docs/#installing

下降 的<head>在你的HTML脚本标记。为了获得最佳性能,您应在 样式表参考之后遵循 。我们 建议将Modernizr的在 头的原因有两方面:HTML5的毒刃(即 能够在IE中的HTML5元素)必须 的<body>之前执行,如果 你使用任何CSS类 的Modernizr补充说,你会想要 阻止FOUC。

因此,您只需将Modernizr从</body>之前移动到<head>元素的内部即可。

+1

谢谢 - 刚刚发现[这Github上的_issue_](https://github.com/Modernizr/Modernizr/issues/256),导致我得出了相同的结论。 –

5

的问题是不是样式表不是进口的,问题是,你使用的是HTML5 section标签,其中IE8和早期不承认。

如果将section标记更改为div标记,则它会更好。

+0

我也认为这是,但他包括Modernizr应该解决这个问题:http://www.modernizr.com/docs/#html5inie – thirtydot

+0

谢谢。这也是我对Modernizr的理解。我会用非HTML5元素替换'section'标签等,看看是否有所作为。如果是这样,我不明白为什么Modernizr没有做好工作。 –