来自数字化前的设计时间和对“像素”的沉思,诸如厘米之类的物理测量是否会在某些时候在网页设计中起作用?是否所有设备都有指定的 ppi(每英寸像素)值?
我知道你有 ems、rems、% 等,但厘米是个坏主意吗?毕竟,设备确实存在于物理世界中。
来自数字化前的设计时间和对“像素”的沉思,诸如厘米之类的物理测量是否会在某些时候在网页设计中起作用?是否所有设备都有指定的 ppi(每英寸像素)值?
我知道你有 ems、rems、% 等,但厘米是个坏主意吗?毕竟,设备确实存在于物理世界中。
设备不是决定每英寸像素值的因素。这取决于所使用的浏览器。这使它更加标准化,但无论如何都不是完美的。
所有浏览器都出于显示的需要将物理单位(如cm
和)转换为像素值。in
但是,它们的真实像素值取决于它是高分辨率设备还是打印设备或低分辨率设备。高分辨率和打印应该与物理长度相同,但并不完美。至于物理长度转换成什么像素值,可以查看完整的转换图表。
在实践中,使用物理单位作为像素的标量是可以接受的。但你必须记住,这1in
并不是真正的 1 英寸。但是,您必须在您感兴趣的所有相关平台(可能包括打印)上测试输出,以确保其行为符合您的期望。
还要记住,真正的旧浏览器(想想 IE6)在缩放时无法缩放物理单位。另一个潜在的问题是,真正旧的监视器可能无法将它们的大小发送到操作系统,这使得无法在这些设备上使用物理单元作为媒体查询点。
有关物理单位难题的更完整历史,您可以阅读这篇文章。
像素也存在于物理世界中。
CSS 中的厘米和英寸测量值适用于打印输出设备,而不适用于屏幕输出设备。它们用于制作打印样式表。
以厘米为单位与屏幕交谈不会获得任何好处,因为从根本上说,您正在以浏览器当前的像素大小和像素比率进行屏幕渲染。因为您以厘米为单位工作,所以不知道像素大小和像素比率对您没有帮助。
因此,纸张设计的不可变纸张大小相当于屏幕设计的不可变像素大小。
您可能不想在屏幕上使用物理单位,我认为主要原因是目前可用的大量屏幕尺寸和像素密度组合。解决每个可用组合中的位置问题将是一场噩梦,事实上,像 rem、ems 等单位存在的主要原因就是因为这种范式。