IE 选择符的4095限制

(编辑:jimmy 日期: 2024/11/1 浏览:2)

去年曾总结了《IE对CSS样式表的限制和解决方案》中限制的第4条写道“一个CSS文件的不能超过288kb?”,这是一个疑问句,当时没有重现出来且参考来自Internet Explorer CSS File Size Limit。今天终于看到了IE在CSS上的另一个限制:IE中每个style标签或css文件的选择符个数不能超过4095。其实style属性也应该有这个限制,但是几乎不可能发生。这个限制在IE6、IE7和IE8中存在。请看 IE关于4095个选择符限制的DEMO。

DEMO中的 style.css 有4913个选择符,大小为554kb,但在IE中却在4095个选择符之后失效,所以说明IE的CSS文件不存在不能超过288kb的限制。

所以在IE中对style标签使用 addRule方法 和 cssText属性 添加样式时都可能会碰到这个限制,比如使用addRule方法添加第4096个选择符时会报“Invalid Argument”的异常。