【发布时间】:2019-07-16 23:00:43
【问题描述】:
现在已经是 2019 年了,iPhone Retina 发明将近 10 年了,你可能知道,现在你可以在 CSS3 中使用0.5px as border width,而且大部分 iPhone 和 Android 设备在 Retina 屏幕上都能正确解决为 1px。
我的问题是,如果我指定font-size: 12px,实际上它会在视网膜屏幕上显示24px 的字体大小。如果我想在视网膜屏幕上显示 25px 字体,我可以使用font-size: 12.5px 吗?谢谢!
我问了我们的 UI 设计师,她说她在为移动设备设计时会使用 750px 作为宽度。所以这意味着如果她将文本字体大小设置为 28px,我会将它除以 2,所以我应该在我的 css 中使用 14px,对吧?
但这带来了另一个问题:UI设计师只能设计22px、24px、26px、28px等,所以我可以除以2,得到11px、12px、……在css中。
如果 UI 设计师将字体大小设置为 25px,我们不能在 css 中使用 12.5px。我试过设置 font-size: 12.5px,但它不起作用,浏览器只是将它转换为 13px。
如何准确设置为UI图片?
@Josh Lee,非常感谢!我在桌面 Chrome 浏览器中尝试了你的代码,它显示如下:
这太棒了!但是,如果我在最新的 iPhone iOS 12.3.1 的 Safari 中运行代码,它会显示如下:
您可以看到 iPhone 仍然无法正确显示 0.5 字体大小,它会将其更改为 12px 或 13px,只是不能是 12.5px。
我也试过 Android Chrome 上的代码,它显示正确。
iPhone 真的很烂。
【问题讨论】:
-
你为什么希望它在视网膜上是 1 个真实像素?我会把技术规模排除在可感知的规模之外。我宁愿享受图像质量,也不愿搞乱 UI 设计。对于特殊的视网膜病例,我会使用
@media,并使用 PX 作为整数。 - 简短的回答:你可以。 -
您可以将 Chrome 缩放到 200% 以查找(或使用设备模拟模式)。
-
或者干脆试试这个演示:jsfiddle.net/fo4egv7n PX 为小数时字体大小会改变吗?
-
像素完美的设计在本世纪过时了,试着告诉你的 UI 设计师 ;)
-
@FelipeAlamedaA REM 最终会转换为 PX 显示在屏幕上,所以即使我使用 REM,它计算的结果是 12.5px,它仍然会在移动浏览器中显示 13px。
标签: css