我在Opera中有一个CSS值大于2¹have的问题,例如width:32999px
我想知道CSS或HTML中的值可以有多大,具体取决于浏览器。

最佳答案

对此有两个答案:一个是官方CSSWG,这是即将到来的CSS3 Values(很快就会达到CR)的要求;另一个是实用的,即哪些浏览器不需要实现CSS3 Values的实现。

在CSS3值之前,它们不是的最小值最大值,因此不同的浏览器具有不同的限制:Opera为32767(2 ^ 15-1),IE9为2 ^ 20-1,其他则更多...

这意味着暂时可以使用的实际最大值为32767。数值较大的值可能被视为“无效”或固定,我不知道。

在CSS3值的规范工作期间,讨论了放置合理的最小值的想法。在2012年3月的草案中,设置了2 ^ 30-1 [3],然后进行了第一次讨论,将其降低到2 ^ 24-1,并提出了另一个将其降低到IE9限制(2 ^ 20-1)的建议[2]。 ],最后工作组的目标是……2 ^ 27-1。 [1]

因此,正式而言,这是CSS3兼容值的当前值。但是……当前的编辑者草案[4](应该是CR的WIP)没有更多的值(value)设置。也许这个决定被推到了CSS4。

因此,实际限制(2 ^ 15-1)是当前要使用的限制。这是一个最小限制,这意味着浏览器可以自由拥有一个更高的浏览器(不要将更高的值视为无效),并且很可能在几年内更高(在2 ^ 20-1和2之间) ^ 31-1,其中2 ^ 24-1和2 ^ 27-1是另外两个可能的值)。

要观看的关于 future 限制的最新最佳页面是:https://developer.mozilla.org/en-US/docs/CSS/integer,该页面经常更新,或者遵循CSSWG的邮件列表(详细)。

资料来源:
[1]最新决定:http://lists.w3.org/Archives/Public/www-style/2012Apr/0633.html
[2]先前的决定和反建议:http://lists.w3.org/Archives/Public/www-style/2012Apr/0530.html
[3] 2012年3月工作草案(2 ^ 30):http://www.w3.org/TR/2012/WD-css3-values-20120308/#integers
[4]最新的编辑草稿(将来可能会编辑内容,但在回答此问题时,它不再包含限制):http://dev.w3.org/csswg/css3-values/#integers

09-30 13:42
查看更多