我读过有关 Internet Explorer 愚蠢的 CSS 限制的相互矛盾的信息。我(认为我是)明白你只能有 31 <style>
和 <link>
标签(组合),并且每张纸最多可以有 31 个 @import
-s(所以 31 <link>
-s,每个到 31 @import
-s 都很好,尽管很疯狂)。
但是,4095 规则不太清楚 - 这个 4095 规则是每个文档还是每个工作表?例如,我可以 <link>
到两个样式表,每个样式表都有 4000 条规则,并且可以正常工作,或者这会打破限制吗?
第 3 方编辑 2018
在此msdn blog post stylesheet-limits-in-internet-explorer提供了进一步的信息。
最佳答案
引用 Microsoft 的以下内容:
- Stylesheet Limits in Internet Explorer
- KB - A webpage that uses CSS styles does not render correctly in Internet Explorer
IE9 的规则是:
- 工作表最多可包含 4095 个选择器 (Demo)
- 一个 sheet 最多可以@import 31 张
- @import 嵌套最多支持 4 层
IE10 的规则是:
- 一个工作表最多可以包含 65534 个选择器
- 一个工作表最多可以@import 4095 个工作表
- @import 嵌套最多支持 4095 层
按纸张限制测试 4095 规则
作为确认,I've created a gist有3个文件。一个 HTML 和两个 CSS 文件。
- 第一个文件包含 4096 个选择器,这意味着它的最终选择器没有被读入。
- 第二个文件 (4095.css) 少了一个选择器,它被读入并在 IE 中完美运行(即使它已经从前一个文件中读取了另外 4095 个选择器。
关于css - Internet Explorer 的 CSS 规则限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9906794/