大众和VH单位不准确


width: 100vw;/* 100% of viewport width */
height: 100vh;/* 100% of viewport height*/

这个 CSS 应该为我提供视口的精确(100%)尺寸。但它显然太大了,因为它会导致页面上溢出。

它不是填充、边距或轮廓,因为我删除了所有这些。

注意 当我添加两个具有这些维度的div 时,它似乎只会"增长"大于投影尺寸。(但在JSFIDDLE中总是如此)

http://jsfiddle.net/0psu7ys6/

我应该将其视为一个错误并编写解决方法吗?还是我错过了什么?

视口测量是准确的。问题在于您的div 是一个内联块。浏览器在行框中呈现内联块元素。div 下方的空格来自此行框的基线;这是排版下降者应该去的区域。这个额外的空间,加上你的div,就是导致溢出的原因。

如果删除 display: inline-block 声明以便将div 呈现为块级元素,则滚动条将消失,div 将完全适合视区。

如果出于某种原因需要将此元素作为内联块,则设置vertical-align: top(或bottommiddle)似乎可以修复它。

还有另一种方法可以解决这个问题

您应该将身体的所有line-height设置为vh

最新更新