计算 IE 规则限制的 CSS 规则

Posted

技术标签:

【中文标题】计算 IE 规则限制的 CSS 规则【英文标题】:Counting CSS rules for IE's rule limit 【发布时间】: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 【参考方案1】:

从several 判断people's 试图解决这个问题,这是对选择器的限制。这意味着您在计数时以逗号 , 分隔每一行(就像这个选择器计数器的示例一样:https://***.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 个选择器。

以上是关于计算 IE 规则限制的 CSS 规则的主要内容,如果未能解决你的问题,请参考以下文章

要处理 IE9,我需要让 Meteor 不连接 css 文件

针对 IE 4096 选择器/样式表限制的 Rails 资产管道解决方案

R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可)

在SQL的规则中限制字符长度小于15的语句怎么写?

CSS IE只有CSS规则

如何单独为 IE9 定义特定的 CSS 规则?