最近在面试中被问到了 1px 的显示问题,在网上查了一下,看过之后有几个疑问
有的文章说到产生 1px 问题的原因是因为 dpr
当 1dpr 时,1px 对应 1x1 个物理像素点
当 2dpr 时,1px 对应 2x2 个物理像素点
然后文章得出结论说,所以在(dpr=2 时,0.5px)=(dpr=1 时,1px)
不太能理解,我的疑问是,如果在两块尺寸大小相同的屏幕上,一块dpr=1,另一块dpr=2,那么它们渲染1px这个单位的时候,实际在屏幕上渲染出来的大小不是相同的吗?只是渲染这 1px 所用的像素点更密集了而已,但是大小还是一样的吧?为什么会出现差异,使得看起来在 dpr=2 的屏幕上 1px 的边框更粗了?
为什么都说 1px 问题,而不会有其它尺寸的问题呢?
如果我在 dpr=2 的屏幕上画一条设计稿上的 2px 的边框,那我为了还原设计师的原稿效果,我是不是还要把设计稿上的 2px 换成 1px ? 8px 换成 4px ?为什么就不会有这种说法呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.