IE9 无法完全加载 css

Posted

技术标签:

【中文标题】IE9 无法完全加载 css【英文标题】:IE9 does not load css fully 【发布时间】:2013-12-17 05:19:26 【问题描述】:

我有 css 文件:

<head>
  <link rel="stylesheet" type="text/css" href="/assets/application.css" media="screen" />
  ...
</head>

除了 IE9,所有浏览器都很好(chrome、ff、ie8、ie10、...)。

【问题讨论】:

您是否尝试过将它们分解为单独的行以查看是否是一种特定的“类型”导致了错误? 见***.com/questions/3656237/… 我认为这可以帮助您***.com/questions/8226863/… 众所周知,IE9 会拒绝未使用“text/css”MIME 类型发送的样式表。这是一项新的安全增强功能,但它让一些人措手不及。你的 CSS 文件是动态生成的吗?确保它作为“文本/css”传递。 @San。服务器响应标头Content-Type:text/css 和文件application.css @DevlshOne。 IE 不会报告任何 CSS 错误。当我尝试单独加载这部分时,一切都很好。 【参考方案1】:

有点晚了,但是对于这个帖子的未来访问者:我遇到了同样的问题,发现我的项目变得太大了。 IE9 在 4095 个选择器之后停止读取您的样式表。

供参考:Does IE9 have a file size limit for CSS?

【讨论】:

谢谢,看来是真的。【参考方案2】:

IE 一直在使用特殊的 CSS 选择器时遇到问题。您正在尝试使用基于属性的选择器 input[type="email"]。

尝试将其包含在您的 -> https://code.google.com/p/html5shim/

否则,请尝试为您想要设置样式的所有输入对象指定类并删除您现在拥有的选择器。

【讨论】:

不走运。问题是我正在使用 semanti-uifoundation 等外部库,但我无法删除所有“坏”选择器。 您检查过这些框架是否与 IE 兼容吗? 是的,兼容IE9。 嗯。您可能尝试过检查样式不正确的元素?会不会是您使用了一些在“普通”浏览器中处于活动状态但被 IE 忽略的供应商前缀选择器?【参考方案3】:

首先,我不确定 IE9 是否支持所有新的 HTML5 输入类型,因为它们在 4 多年前发布时还没有达到稳定的标准。因此,您应该尝试添加某种选择器,您可以为需要支持的过时版本设置样式。具有稳定规范的那些将在今天的 IE 中正常工作。

此外,通过启动 F12 工具并检查网络选项卡来确保 CSS 文件正在加载,或者如果您想做同样的事情,请使用 Fiddler。如果您看到任何资源的 4XX 状态代码,请进行相应的调查。

【讨论】:

【参考方案4】:

这个错误有很多原因。对我来说,我只是将扩展 CSS 更改为小写,效果很好。

【讨论】:

以上是关于IE9 无法完全加载 css的主要内容,如果未能解决你的问题,请参考以下文章

IE9中HTML和CSS的处理顺序

兼容模式下ie9和ie10显示样式在不兼容模式下为啥不加载css样式?

IE9 中 CSS 高度为 100% 的画布

事件类型——UI事件

easyui在IE9中的显示问题

如何在网站页面完全加载时抓取它(js,css all loaded)