【问题标题】:What are some client-side tricks to get around IE7's absurd 32-stylesheet limit?有哪些客户端技巧可以绕过 IE7 荒谬的 32 样式表限制?
【发布时间】:2012-07-22 04:13:22
【问题描述】:

我刚刚通过反复试验发现 IE 7 包含的样式表上限为 32 个(即标签)。

我在一个非常大的网站的前端工作,我们希望将我们的 CSS 分解为尽可能多的单独文件,因为这使得开发和调试变得更加容易。

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

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

有没有办法破解这个问题?

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

是这样吗?我是坚持 32 个文件的限制还是有办法解决?

注意:我要求对此提供客户端解决方案。显然不需要服务器端解决方案,因为我们已经有一个压缩系统。我只是不想在每次进行一点我想要测试的 CSS 更改时都重新压缩。

【问题讨论】:

  • 我也遇到过这个问题,期待看到答案。

标签: internet-explorer-7 stylesheet specific-stylesheets


【解决方案1】:

我将把它作为一个单独的答案添加,看看它得到了多少赞成票和反对票:

不支持 IE7。

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

【讨论】:

    【解决方案2】:

    你试过@import吗?

    【讨论】:

      【解决方案3】:

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

      如果您使用的是 Apache 或 Lighttp,请考虑使用 mod_concat

      【讨论】:

      • 我已经有一个服务器端压缩解决方案,不需要另一个。我需要一个客户端解决方案。
      • 但它是服务器端的。我想要一些客户端的东西!
      【解决方案4】:

      使用 Javascript 使用 cssText 属性将样式表写入现有样式块,如下所示:

      document.styleSheets[0].cssText += ourCss;

      更多信息在这里:

      http://bushrobot.blogspot.co.uk/2012/06/getting-around-31-stylesheet-limit-in.html

      【讨论】:

      • 看起来是一个有趣的解决方案!我试试看。
      【解决方案5】:

      在我的上一家公司,我们通过将所有 CSS 混合到一个大文档中并在引用该一次性文档的网页中插入一个 URL 来解决这个问题。这一切都是即时完成的,就在将页面返回给客户端之前(我们在幕后进行了一堆生成动态 CSS 的工作)。

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

      或者你不能支持 IE7 ;)

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 2012-02-05
          • 2011-07-09
          • 2010-10-13
          • 1970-01-01
          • 2011-11-29
          • 1970-01-01
          • 1970-01-01
          • 2011-12-17
          相关资源
          最近更新 更多