最近在面试中被问到了 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 ?为什么就不会有这种说法呢?