css - 不同浏览器对css文件的大小和数量有什么限制?

标签 css internet-explorer cross-browser stylesheet

看完Internet Explorer's CSS rules limits , Internet Explorer 似乎只会加载 31 个样式表,并且每个样式表必须包含少于 4095 条规则。

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

谢谢

最佳答案

看起来这确实是一个过时的机制,但这是事实。我编写了一个非常快速的程序来创建 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

关于css - 不同浏览器对css文件的大小和数量有什么限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12683709/

相关文章:

html - 垂直滚动在 iOS 上不起作用,但在 Android 上运行良好

internet-explorer - 如何将-webkit-gradient应用于IE?

css - 替代内部分页 :avoid because of compatibility issues

jquery - 使用 cookie 永久更改 CSS

html - 如何解释 CSS clear 属性?

html - CSS,是否可以在没有图像的情况下实现这一目标?

html 在 IE8 中不显示相同

html - 如何修复 IE11 中的 Flexbox 粘性页脚

Safari 的 CSS 径向渐变不起作用

css - 无法使 CSS 垂直线性背景渐变在所有主流浏览器中正确显示