2010-10-26 34 views
2

我刚刚通过反复试验发现IE 7的样式表包含32个样式表(包括标签)的上限。什么是一些客户端技巧来解决IE7的荒谬的32-stylesheet限制?

我正在研究一个非常大的网站的前端,我们希望将我们的CSS分解成许多独立的文件,因为这使得开发和调试变得更加容易。

性能不是问题,因为我们在部署之前将所有这些文件压缩到一个包中。

问题在于发展方面。如果IE 7的上限为32,我们如何处理超过32个样式表?

是否有任何手段绕过这个?

我试图想出解决方案,但它似乎即使我通过Ajax加载样式表,仍然会写出标签,这仍然会计入32样式的限制。

这是这种情况?我是否坚持了32个文件的限制或者是否有解决方法?

注意:我要求客户端解决方案。很显然,服务器端解决方案并不是必需的,因为我们已经有了一个压缩系统。我只是不希望每次进行一次我想测试的CSS更改时都不得不重新进行压缩。

+0

我已经遇到这个问题也期待看到的答案在 – 2010-10-26 23:35:46

回答

0

在我上一个公司,我们通过将所有CSS拼凑成一个大文档并在引用该一次性文档的网页中插入一个URL来解决此问题。这一切都是在将页面返回给客户端之前即时完成的(我们在幕后创建了一系列动态CSS)。

您可能可以让您的网络服务器执行类似的操作,具体取决于您的设置,否则它听起来像只有32个文件。

或者你可以不支持IE7)

1

您是否试过@import?

+0

天哪,它的工作原理! – Jonathan 2010-10-27 01:46:21

+0

@import同样的问题:( – Jonathan 2010-10-31 23:52:01

5

我要加入这个作为一个单独的答案只是为了看看有多少上下票它得到:

不支持IE7。

编辑:为了避免混淆:我不认真建议这是一个真正的解决方案。请没有火焰!

+0

Tee hee hee。第一次投票:) – 2010-10-26 23:30:13

+0

+1,或者不要使用超过32个样式表。 – Fosco 2010-10-26 23:48:59

-1

不是一个真正的答案,但我记得在使用Drupal 6(CMS)时,有一个选项可以在请求页面时聚合样式表。也许你可以通过编程来做类似的事情。

+0

不是一个真正的答案。 – 2012-10-08 17:24:28

1

在服务器端创建CSS文件并合并该特定页面所需的所有文件。

如果您正在使用Apache或Lighttp考虑使用mod_concat

+0

我已经有了服务器端压缩解决方案,不需要另外一个。我需要*客户端*解决方案。 – Jonathan 2010-10-26 23:55:53

+0

它没有压缩,正在合并文件... – TheHippo 2010-10-27 08:58:12

+0

但它是服务器端。我想要一些客户端! – Jonathan 2010-11-01 00:00:37