2012-04-05 72 views
7

我正在将几个样式表编译到暂存环境中的一个最小样式表中样式在IE中本地应用,其中每个样式表都是分开的,但是它们不会在编译样式表的IE中的暂存环境中应用分成一分钟样式表。我通过CSS验证器运行了样式表,并通过了每个样式表,并更正了我发现的任何语法错误。我不一定需要知道如何解决问题,我主要想知道问题存在的地方。 IE开发人员工具没有给我任何有关未被应用的样式问题的反馈。IE不应用样式

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

谢谢!

+1

我只能在IE 10中检查它,它对我来说看起来很好。是否有任何特定的风格,您的IE浏览器不适用或者它是整个CSS文件? – csupnig 2012-04-05 21:51:58

+0

我刚刚遇到类似的问题,但尚未解决。在IE9的CSS开发者工具中,它表明它将一个特定的颜色应用于一个节点,但它显然不是。 – 2012-04-05 21:58:08

回答

10

我试过你的页面,它在Chrome中正常工作。然而,在IE9中它看起来很奇怪,好像CSS样式没有被应用,就像你所描述的那样。例如,样式body#manage-sessions #main_container #login_container未得到应用。我查看了开发人员工具中的css选项卡,结果表明该样式甚至不在那里,这解释了它的工作原理。为了找出原因,我使用了开发人员工具中的网络检查员,并检查了IE9下载css时的响应情况,body#manage-sessions #main_container #login_container确实在回应中。这导致我相信,对于IE的最大css文件大小必须有一些限制。看起来确实如here所描述的那样。显然IE只是忽略了额外的样式,如果CSS文件超过一定的大小。所以这就解释了为什么当css文件分离时一切正常,为什么在你将它们合并后崩溃。为了解决这个问题,请尝试将你的大型css文件分成两个或更多小于IE限制的小文件,并查看是否可以解决问题。

+3

原来,在IE中只有一个文件中的第一个288kb将被读取和处理。 288kb后的任何CSS都将被忽略。我们现在大约在450。我将不得不重构风格以低于288.谢谢你的回应! – 2012-04-06 14:32:03

+1

@ErikVanLankvelt是的,你总是可以指望IE给你这样的跛脚问题。无论如何,如果我的答案帮助你,请考虑接受它。 – 2012-04-06 16:03:50

+1

这个解决方案对我来说很合适,但是看起来当我尝试时它的极限有点低,所以当它一开始不工作时我感到很惊讶。将尺寸缩小到230K,但仍然无法使用。最终,它在182分析整个文件没有问题。这是一个令人讨厌的问题。我会把这个添加到我长长的IE战斗疤痕列表中。 – Adam 2013-05-07 02:06:48

1

我不确定你的个人设置,但是,任何东西< IE 10只能处理32个单独的样式表,任何以后的任何东西仍然会显示在开发工具中,如工作但放心,33样式表致力于沉默失败的生活。