vh单位的最小值和最大值是多少?

6

比如,浏览器有哪些限制?如果我设置了 99999999999999vh,它会真的是 99999999999999vh 吗?还是会像 2145629vh 这样出现奇怪的情况?


1
这是视口大小的百分比。我猜你理论上可以有一个元素大小是视口高度或宽度的许多(千?)倍,没有限制,但我不知道这样做的实际目的是什么。我认为这是关于浏览器如何处理非常大的元素的问题,而不是单位本身的限制。 - Vince
1个回答

10

根据视口高度(vh)规范,它没有提到最小/最大值的限制。然而,在CSS值和单位:数字数据类型第5节中,它提到:

CSS理论上支持所有值类型的无限精度和无限范围;但实际上实现具有有限能力。UA应该支持合理有用的范围和精度。

一些SO用户测试了每个浏览器值的极限,结果如下:

Firefox: 33554400px
Chrome:  33554428px
Opera:   33554428px
IE 9:    21474836.47px

而上述行为在第5节:距离单位中有所解释:

虽然某些属性允许负长度值,但这可能会使格式化变得复杂,并且可能存在特定实现的限制。如果允许使用负长度值但无法支持,则必须将其转换为最接近的可支持值。

希望以上内容能回答您的问题。


2
我希望我能投两次赞。回答得很用心! :) - Vince
我觉得Chrome和Firefox之间的最大差异为28px很奇怪。我想知道他们是如何决定这个看似随意的值的。非常好的答案。 - Josh Crozier
@JoshCrozier FF和Chrome是否对100vw的定义有所不同...其中一个包括滚动条,而另一个则不包括?可能是这个原因吗?我认为他们只是将最大vh设置为与vw最大像素值相同。 - Paulie_D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接