我有一个调用大约32个样式表的页面。在另一页上,它调用< 30.在其他浏览器中,两个页面看起来都很好,但在IE(8,7)的第一页上,最后2个样式表没有被调用,它完全混淆了布局。我不太确定如何在drupal中解决这个问题。
编辑: 另外,我知道有超过30个不是那么好,但这就是我们的网站最初开发的方式。我们有一堆主题和模块,使用“drupal_add_css”添加syleshets。
我尝试通过转到admin / settings / performance来压缩css,但样式表链接不起作用,因为我们使用的是测试站点的端口号(http:// mysite:123),生成的链接是{ {3}}
答案 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)。