我读过有关Internet Explorer愚蠢的CSS限制的相互矛盾的信息.我(我想)理解你只能拥有31个<style>和<link>标签(组合),并且每个工作表最多可以有31个@import(所以31个<link>,每个31个@import也很好,虽然很疯狂).
但是,4095规则不太清楚 - 每个文档或每张文件是4095规则吗?例如,我<link>可以使用两个样式表,每个样式表有4000个规则,并且可以使用它,还是会突破极限?
在这个msdn博客文章中,stylesheet-limits-in-internet-explorer给出了进一步的信息.
在一个关于CSS的答案中,一位用户说:
互联网浏览器
已经被认为有4096个CSS的限制规则,每个文件.参考此外,它可以嵌入单个文档中的样式表数量限制.我认为是20岁.
注意:此问题涉及使用Sass&Compass的Rails项目.使用Rails资产管道?然后看看这个问题.
我们正在开发一个包含许多用例和许多单独样式页面的大型应用程序,部分用于多个上下文.这仅仅意味着很多风格信息.
使用我们应用程序的最新部分,我们已经破坏了Internet Explorer每个样式表4095个选择器的限制.(想要证明这个限制吗?http://marc.baffl.co.uk/browser_bugs/css-selector-limit/)
好的.那么,为什么我们不能简单地将应用程序样式表分成多个设计?
好吧,mixins和selector继承不能用于多个Sass文件(不是部分),对吧?
我会说样式表的质量相当不错,我们无法优化掉选择器的数量.(还有更多未来.)我还认为,尽量减少选择器的数量不应该是我们的主要优化目标.Sass核心团队建议在适用的情况下使用选择器继承而不是mixins来保存CSS文件大小.通过这样做,选择器的数量趋于增长.
所以我该怎么做?
我正在考虑编写一个脚本,生成额外的css文件,分区我的大application.css文件.这些只会在IE中加载(因此我在现代浏览器中没有多个请求).我需要一个简单的css解析器,以便在max之后剪切application.css文件.4095个选择器位于有效位置.而且我需要一个指南针编译 - 挂钩后,开发人员不需要手动生成IE文件来测试它.
请告诉我,你有更好的主意!
最好的,基督徒