从浏览器到浏览器的css文件的大小和数量有什么限制?

时间:2012-10-02 02:17:47

标签: css internet-explorer cross-browser stylesheet

阅读Internet Explorer's CSS rules limits后,Internet Explorer似乎只会加载31个样式表,每个样式表必须包含少于4095个规则。

其他浏览器和不同版本是否有这样的规则,如果是这样,它们是什么?还有其他类似的规则,如脚本或HTML页面大小?

由于

1 个答案:

答案 0 :(得分:2)

看来这确实是一个过时的机制,无论如何。我写了一个非常快速的程序来创建35个样式表,每个样式有4500个类,每个样式都有1个css属性。然后我用一个快速的小脚本动态创建了这些样式表的链接:

$(document).ready(function() {
try
  {
    for(var i = 0; i<35; i++)
    {
        var el = document.createElement("link");
        el.type = "text/css";
        el.rel = "stylesheet";
        el.href = "style" + i + ".css";
        document.getElementsByTagName("head")[0].appendChild(el);
    }
  }
catch(e)
  {
      alert(e);
  }
});

在Chrome和IE9中都可以正常使用,不会抛出任何错误。然后,我使用MSDN对createStyleSheet的引用在IE9中测试了相同数量的工作表,用以下代码替换for循环中的代码:

document.createStyleSheet("style" + i + ".css");

确实会导致存储错误不足。我还会注意到这个功能只能在IE中运行,试图在Chrome中运行这个脚本会引发一个类型为“createStyleSheet”的未知对象错误。

下面是代码的工作版本:http://fluidev.com/cssMax/test.html