yuandaishi
2015-10-09 12:15
首先,谢谢你做的这期视频,我之前写手机端的时候,就遇到一些不明了的问题。
先说一下PC端上的。
首页,根据从网上得来的知识:PX是一个相对长度,而不是一个绝对长度(相对于PC的分辨率)。比如20英寸的电脑显示屏。假如设置分辨率:1920X1080。这个时候,写一个div(1280X720)PX,是不会充满这个20英寸的电脑显示屏的,但是当我们把这个20英寸的电脑分辨率设置为1280X720的时候,还是这个1280X720的div,就会填满这个20英寸的电脑屏幕。说以说我们写的CSS中1PX的长度是和电脑的分辨率有关的(可以认为CSS中的1PX和使用电脑的分辨率的1个单位长度相同)。也正是这个原因,导致了相同的CSS修饰,在不同的分辨率下展现的效果不同。
物理像素,就是你说的那个dp,长度应该是绝对的吧。这样的话,根据PX和dp的换算公式,同一个电脑,分辨率是1920X1080的时候的1PX长度不是应该大于1280X720时候1PX的长度吗?但是实际上是小于的,因为分辨率1280的时候,1280PX宽度的div充满显示屏,但是1920的时候,没有充满。还是说这个换算公式只是在手机端有效?
关于电视设置分辨率的问题,我没有深入研究大体理解其原理为“缩放”。在1920*1080时候的1px应该是要比1280*720的更短一些的。px和dp的换算公式是基于缩放比,假如1920*1080的缩放比为1,那么1280*720的缩放比我们就假设1.5(可视度越低,缩放比越高,反之亦然)。
这时: 1px = 1dp,和1px=1.5^2dp=2.25dp,得出结果也是符合的,1920的比1280的更小一些。所以问题处于你理解px和dp的换算公式上。
同一个显示屏,你把它分的份数越多,每一份就越小。
我是这样理解的,我们规定一个div有1280X720px,那分辨率越高的屏幕dpr越大,px = (dpr)^2*dp,所以dp就越小,div大小就越小。
Hello,移动WEB
110214 学习 · 194 问题
相似问题