iPhone上的CSS像素与设备像素

4
如果我使用CSS指定了<div>标签的宽度为96px,那么在第一代iPhone屏幕上应该占用多少设备像素?
我在页面中添加了<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>,在模拟器上截取了屏幕截图,并测量了div宽度为96个设备像素。现在,我阅读了CSS像素的W3规范,其中说明1像素等于1/96英寸。因此,96个CSS像素应该相当于1英寸。由于原始iPhone的DPI为163,因此屏幕上的1英寸应占用163个设备像素。为什么我没有得到这个测量值?换句话说,96个CSS像素是否等于1英寸?
我看到规范还提到了锚定到参考像素。在这种情况下,参考像素似乎就是设备像素。如果我要从屏幕截图中获取CSS像素值,通常假设一个设备像素等于一个CSS像素在iPhone(非视网膜显示器)上是否正确?

这取决于缩放级别,对吧? - Sidharth Mudgal
是的,但是<meta>标签应该将缩放级别固定为100%,因此不应产生任何影响。 - Mirza Dobric
1个回答

1
iPhone像素与其他像素一样。在任何设备上,96px宽的
始终是96px宽的。DPI(每英寸点数)只告诉您屏幕(或纸张)上物理像素(点)与英寸之间的比率,并不代表任何尺寸。 DPI仅是像素和现实世界单位之间的比率。
在50 DPI屏幕上,96px的
看起来会比300 DPI屏幕上的小6倍。
DPI因设备或打印/扫描质量而异,因此1英寸并不总是等于96个像素。 W3C只是说绝对长度单位是固定的,并且与彼此相关联(这只是一个任意的近似值,使CSS单位保持一致)。这并不意味着可以将现实世界的测量单位(英寸,厘米)赋予像素一个固定的比率。
我能给你的最好帮助就是1px只等于1px。像素和现实世界单位之间的任何比较都取决于特定设备的DPI,而不是W3C等标准。
引用:绝对长度单位是相对于彼此固定的,并且锚定到某些物理测量上。当输出环境已知时,它们非常有用。

1
感谢您再次指出W3C规范的这一部分。我曾经认为1px等于1/96英寸,总是指像尺子上的英寸那样的物理英寸。但当我将<div>的宽度更改为1in时,我发现情况并非如此。它的宽度与96px完全相同,略大于半个物理英寸。 - Mirza Dobric

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