【问题标题】:Counting CSS rules for IE's rule limit计算 IE 规则限制的 CSS 规则
【发布时间】:2014-01-17 21:15:29
【问题描述】:

关于 IE 的 4095 条 CSS 规则限制,以下是否算作一或五条规则:

.foo, .bar, .baz, .foo p, .bar a { property: value; }

我不能 100% 确定旧的 IE 浏览器如何解析规则。谢谢!

【问题讨论】:

  • 这是每个 CSS 规则。但请注意,它适用于选择器,而不是规则本身。此限制仅针对每个文件。您可以导入多个其他 CSS 文件来解决该问题。我认为 IE 的 @import 限制在 35 左右。当你能够获得那么多 CSS 规则时,我会称你为疯狂英雄:P
  • 哦顺便说一句;我刚刚读到,从 IE10 开始,您可以在样式表中使用 65534。但是 HTML 本身仍然只能容纳 4095(内联并在 <style> 标记中)。你仍然可以结合所有这些东西。你将不得不使用大量的胖库来达到这样的 CSS 大人物。
  • @Allendar:所以我的示例规则将算作 7 个选择器,而不是 4,095... 对吗?您能否指出任何明确规定了解析规则的来源?
  • 深度遍历可能不算数,但我不是 100% 确定。我尽量避免使用 IE:P。这是一个来源; blogs.msdn.com/b/ieinternals/archive/2011/05/14/10164546.aspx

标签: css internet-explorer


【解决方案1】:

several 判断people's 试图解决这个问题,这是对选择器的限制。这意味着您在计数时以逗号 , 分隔每一行(就像这个选择器计数器的示例一样:https://stackoverflow.com/a/20496041/624590

这意味着您的示例对 4095 限制计为 5 分。

如果你想证明给自己看,用你的IE浏览器到我设置的这个页面:http://dylancodes.net/wayBack/ie9selectors/

它在样式表中增加了一些,到 4097,格式如下:

.test0, .test1, .test2, ..., .test4097 { background: green; }

我只用IETester软件检查过,但是前三个div好像没有得到颜色(从0开始计数,所以4094是第4095项,所以有3个超出规则)。

【讨论】:

  • 对,遍历集合 (element > element > element) 没关系。很适合那个好的 ol' Microshott。也许我们应该签署一份请愿书,放弃整个 IE 开发。我可以写一篇关于浏览器引擎和包装功能问题的三部曲。
  • 添加了一个简单测试页面的链接,以防您想看到自己的规则,在一行中扩展为 4098 个选择器。
猜你喜欢
  • 2012-04-12
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
相关资源
最近更新 更多