1

我知道以前有人问过这个问题,但这种情况不适用于其他情况。

这是网站:链接

Internet Explorer 8 不想加载样式表。我试过使用 Modernizr(虽然我可能用错了)。我尝试在脑海中添加此代码:

<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

当然,在其他所有方面都可以正常工作。

我确定它与 HTML5 和 CSS3 有关系……有什么建议吗?

4

2 回答 2

2

没有加载任何 CSS 的主要原因是您的样式表使用了媒体查询。

IE8 不支持媒体查询。

您还使用了一些其他不受支持的功能,但媒体查询是主要功能,因为几乎您的整个 CSS 代码都包含在一个或另一个媒体查询块中,而 IE8 不会理解其中的任何一个。

要解决此问题,您应该更改执行媒体查询的方式。即使根本没有任何媒体查询,您也应该有一组默认样式,然后只使用媒体查询来覆盖特定页面大小的样式。

这将使您的 CSS 可以在不支持 IE8 等媒体查询的旧浏览器上工作。在浏览器中,如果屏幕尺寸不适合您的默认设置,您可能会遇到布局问题,但如果您设置了合理的默认设置,那应该不是什么大问题。

有一些 polyfill 脚本将为 IE8 添加对媒体查询的支持,例如 [respond.js]]( https://github.com/scottjehl/Respond ),但如果您使用的是合理的默认值,则不需要使用它们。(如果您确实需要它们,它们很棒,但它们可能会对性能产生负面影响,所以如果您可以在没有它们的情况下逃脱,那就更好了)

希望有帮助。

于 2013-09-09T22:12:19.600 回答
1

您的整个样式表 (style.css) 由媒体查询组成。除非您使用Respond.js,否则即使使用 html5shiv 媒体查询也无法在 IE8 中工作。

于 2013-09-09T22:11:16.833 回答