IE不加载超过30个样式表(drupal)?

时间:2011-07-25 15:41:38

标签: css internet-explorer drupal

我有一个调用大约32个样式表的页面。在另一页上,它调用< 30.在其他浏览器中,两个页面看起来都很好,但在IE(8,7)的第一页上,最后2个样式表没有被调用,它完全混淆了布局。我不太确定如何在drupal中解决这个问题。

编辑: 另外,我知道有超过30个不是那么好,但这就是我们的网站最初开发的方式。我们有一堆主题和模块,使用“drupal_add_css”添加syleshets。

我尝试通过转到admin / settings / performance来压缩css,但样式表链接不起作用,因为我们使用的是测试站点的端口号(http:// mysite:123),生成的链接是{ {3}}

5 个答案:

答案 0 :(得分:3)

您可以使用admin / settings / performance并将Optimize CSS设置为true。这将输出1 css而不是32+。如果您正在开发并希望在IE中使用它,则需要在更改css后清除缓存。我们倾向于将其留在开发中。只需将其打开即可在IE中进行测试或进行生产。

一切顺利, 余烬


回答艾莉森的评论(评论栏太长了)

嗨AlisonC,

我从来没有尝试过使用Drupal的网站端口。我建议您确保您网站的settings.php设置正确。可能需要为您的文件夹指定一个特殊名称(请参阅settings.php顶部的说明),或者您可能需要检查$ base_url并确保它具有该端口。

如果这不起作用,那么在开发时会有一个用于缓存css的模块(http://drupal.org/project/ie_css_optimizer)。我没有使用它,但它至少对你的情况可能有点不同。 (输入后我注意到另一个用户也推荐它)。

我一直在假设你还在开发中,我会在上线之前移除ie css优化器模块(或者至少关闭它),因为它主要是开发人员助手。我认为这是我的知识极限。祝好运!

- 灰烬

答案 1 :(得分:2)

这是IE的已知限制 - 在任何给定页面上都不能超过31个样式表。

参考文献:

唯一真正的解决方案是组合样式表,以便减少单个CSS文件(使用Drupal的“优化CSS”选项)。但我承认,如果您尝试调试代码等,这可能会很痛苦。

实际上,可能可以将超过31个样式表加载到IE中,但是对于任何超过31个样式表,你需要通过另一个CSS中的@import行来加载它们。文件。这在Drupal站点的上下文中实际上是不可能的,其中每个样式表都是由模块添加的,并且您无法控制Drupal如何将它们添加到页面中。

答案 2 :(得分:0)

他们是如何装载的? 30个人<link href="blahblah.css">来电?或者来自其他带有@import指令的样式表?请记住,如果存在语法错误,则进一步处理样式表将失败。

答案 3 :(得分:0)

http://drupal.org/project/ie_css_optimizer ......是我们使用的。启用CSS优化后,主题调试很麻烦。 D7使用此模块实现的@import方法来解决问题。

答案 4 :(得分:-1)

实际上有一个模块来处理这个问题。我没有亲自使用它,但确实有5K +用户(Drupal 6)。