Chrome浏览器窗口高度为何出现非整数值(如749px)?
Chrome窗口尺寸出现非整数值的原因
系统或浏览器的非整数缩放
当系统高DPI缩放设为非100%(比如Windows的125%、Mac的125%),或是用Chrome自带缩放功能(Ctrl+滚轮)调整了非整数比例时,CSS像素和物理像素的换算会产生小数。window.innerHeight、document.documentElement.clientHeight这类API返回的是CSS像素值,浏览器会严格按缩放比例计算,不会强制取整,因此会出现749这类接近整数但非整的数值。窗口布局的精确计算
Chrome计算窗口内容区高度时,会精准统计标题栏、工具栏、标签栏等所有界面元素的占用空间。如果系统缩放导致这些元素的高度换算后不是整数,内容区的自然高度也会是一个非整数值,这两个API自然会返回这个精确结果。CSS媒体查询的精确匹配逻辑
CSS媒体查询里的min-height、max-height同样基于精确的CSS像素值判断,不会自动取整。比如窗口高度是749px时,@media (min-height: 750px)不会触发,只有@media (min-height: 749px)才会生效,这就是因为浏览器遵循精确匹配的规则。
举个实际例子:如果系统缩放比例是125%,物理像素高度为936px,换算成CSS像素就是936 ÷ 1.25 = 748.8px,Chrome会将其近似显示为749px,而非强制取整到750px。
内容的提问来源于stack exchange,提问作者林韋旭
相关产品推荐
相关产品推荐

