IE 不应用样式

Posted

技术标签:

【中文标题】IE 不应用样式【英文标题】:IE Not Applying Styles 【发布时间】:2012-04-19 15:45:23 【问题描述】:

我在暂存环境中将多个样式表编译为一个最小样式表样式在 IE 中本地应用,其中每个样式表都是独立的,但它们未应用于 IE 中的暂存环境,其中样式表被编译为一个最小样式表.我已经通过 CSS 验证器运行样式表,并检查了每个样式表并更正了我发现的任何语法错误。我不一定需要知道如何解决问题,我主要是想知道问题出在哪里。 IE 开发者工具没有给我任何关于样式没有被应用的问题的反馈。

这里是登台环境中登录页面的链接:https://s-app.joinhere.com/manage/sessions/new。样式在样式表中,只是没有在 IE 中应用。这是编译后的最小样式表的链接:https://staging.joinhere.com/assets/manage-d4f70cefc93b170b5f2a04509db697c8.css

谢谢!

【问题讨论】:

我只能在 IE 10 中检查它,我觉得它看起来不错。是否有任何您的 IE 未应用的特定样式......还是整个 css 文件? 我刚刚遇到了类似的问题,但还没有解决。在 IE9 的 CSS 开发工具中,它显示它正在将特定颜色应用于节点,但显然不是。 【参考方案1】:

我不确定您的个人设置,但是,任何

【讨论】:

【参考方案2】:

我尝试了您的页面,它在 Chrome 中运行良好。但是,正如您所描述的,它在 IE9 中看起来很奇怪,好像没有应用 CSS 样式。例如,样式body#manage-sessions #main_container #login_container 未得到应用。我查看了开发人员工具中的 css 选项卡,结果发现样式甚至不存在,这解释了它是如何不起作用的。为了找出原因,我使用了开发者工具中的网络检查器并检查了 IE9 下载 css 时的响应,并且样式body#manage-sessions #main_container #login_container 确实在响应中。这让我相信 IE 的最大 css 文件大小必须有一些限制。看来这确实是here 所描述的情况。显然,如果 css 文件超过一定大小,IE 会简单地忽略其他样式。因此,这就解释了为什么当 css 文件分开时一切都可以正常工作,以及为什么在组合它们后事情会分崩离析。要解决此问题,请尝试将您的大型 css 文件拆分为 2 个或更多低于 IE 限制的较小文件,看看这是否能解决问题。

【讨论】:

原来,在 IE 中只会读取和处理文件中的前 288kb。 288kb 之后的任何 CSS 都将被忽略。我们现在大约450。我将不得不重组样式以低于 288。感谢您的回复! @ErikVanLankvelt 是的,您总是可以依靠 IE 来解决此类蹩脚的问题。无论如何,如果我的回答对您有帮助,请考虑接受。 这个解决方案对我有用,但是当我尝试它时看起来限制有点低,所以当它一开始不起作用时我很惊讶。将大小缩小到 230K,但仍然无法正常工作。最终,它在 182 处解析了整个文件没有问题。多么烦人的问题。我会将其添加到我的长长的 IE 战斗伤疤列表中。 更正。它仍然无法在 280 处工作。在 148 处,这一切似乎都被包括在内了。 可能相关的内容:blogs.msdn.microsoft.com/ieinternals/2011/05/14/…

以上是关于IE 不应用样式的主要内容,如果未能解决你的问题,请参考以下文章

表格的边框在 IE 中不起作用

CSS样式在IE中无法正常显示

使用动态 SVG 元素时 IE 11 “崩溃”

document.createElement,创建浏标签

CSS 样式未在 IE 7 上显示 [关闭]

Internet Explorer 占位符样式问题