1

假设我想使用该pt单元来确保我的 html 页面在设备/浏览器/操作系统之间看起来一致。我的理解pt是它应该等于屏幕上的 1/72 英寸。

密码笔

HTML

<html>
<body>
  <div></div>
</body>
</html>

CSS

div {
  background-color:black;
  height: 72pt;
  width: 72pt;
}

生成的图像

这会在我的屏幕上或多或少地产生一个 1" x 1" 的正方形(这只是我看到的屏幕截图)。但是,我可以将尺子放在我的显示器上并测量它,结果更像是 1 3/16"。

我的浏览器缩放级别是 100%,所以这不会影响事情。我在 Windows 8.1 上使用 Chrome 并设置了默认字体大小(Chrome 中为 16)。我的操作系统缩放级别是 100%。我有一个 24" 显示器,分辨率设置为 1920x1080。另外值得注意的是,Chrome 报告该正方形正好是 96x96 像素。

这让我相信我所听到的,在任何给定的显示器/浏览器/操作系统组合上,现实世界中的 72pt = 1 物理英寸是不准确的。这个对吗?

鉴于这种行为,我假设如果我有一个具有相同分辨率的 22 英寸显示器,像素密度会更大,因此正方形会显得更小(可能更接近于用物理尺测量的 1 英寸)。

Retina 显示器如何与所有这些协同工作?我认为正方形不会出现两倍小(那会很愚蠢)。浏览器是否对超高 DPI 显示器进行某种内部处理?例如,Chrome 似乎有一些“设备像素比 (DPR)”的概念,因此它可以将具有 2048 x 1536 (DPR 2) 的“真实”分辨率的 iPad 视为更标准的 1024 x 768。所以我假设DPR 最终会在某种程度上标准化 DPI 差异很大的屏幕,但在考虑到这一点之后,具有不同 DPI/PPI 的不同设备仍然会看到我们正方形的物理尺寸略有不同。

4

1 回答 1

2

pt 单位是否总是会始终如一地进行物理测量?

不,CSS 在 2011 年放弃了该要求,因为大多数人都忽略了它。

https://www.w3.org/Style/Examples/007/units.en.html有更详细的解释

所谓的绝对单位(cm、mm、in、pt 和 pc)在 CSS 中的含义与其他任何地方相同,但前提是您的输出设备具有足够高的分辨率。在激光打印机上,1 厘米应该正好是 1 厘米。但是在低分辨率设备上,例如计算机屏幕,CSS 不需要这样做。事实上,结果往往会因一​​种设备而异,也因一种 CSS 实现而异。最好将这些单元保留用于高分辨率设备,尤其是用于打印输出。在计算机屏幕和手持设备上,您可能不会得到您期望的结果。

过去,CSS 要求实现即使在计算机屏幕上也能正确显示绝对单位。但由于错误实现的数量超过了正确实现的数量,而且情况似乎没有改善,CSS 在 2011 年放弃了这一要求。目前,绝对单位必须仅在打印输出和高分辨率设备上才能正常工作。

CSS 没有定义“高分辨率”的含义。但由于现在低端打印机的 dpi 为 300 dpi,而高端屏幕的 dpi 为 200 dpi,截止日期可能介于两者之间。

于 2018-07-15T21:21:19.657 回答