175-2108-6175
网站建设资讯详细

前端开发教程:设备像素和CSS像素

日期:2023-02-11  作者:千语创想  浏览:6599

1.什么是设备像素和CSS像素?

1.1设备像素又称为物理像素, 是"物理屏幕"上真实存在的发光点,你改颜色就可以显示不同的东西呗,只有屏幕一经出厂就固定不会改变。

1.2CSS像素又称为逻辑像素, 是编程世界中虚拟的东西, 我们通过代码设置的像素都是逻辑像素。

  例如: iPhone3G/iPhone3GS 3.5英寸/ 逻辑像素320*480 / 设备像素320*480

        iPhone4/4S         3.5英寸/ 逻辑像素320*480 / 设备像素640*960            

  也就是说CSS像素和设备像素在有的时候是不一样的                 

2.设备像素和物理像素when/why不一样

在PC端,1个CSS像素往往都是对应着电脑屏幕的1个物理像素, 所以我们无需关心PC端的CSS像素和设备像素。

在手机端,最开始其实1个CSS个像素也是对应着手机屏幕的1个物理像素,但是乔布斯从iPhone4开始,苹果公司推出了所谓的retina视网膜屏幕。iPhone4的屏幕尺寸却没有变化,但是像素点却多了一倍, 这就导致了在1个CSS个像素等于1个物理像素的手机上, 我们设置1个CSS像素只会占用1个物理像素,而在1个CSS个像素不等于1个物理像素的手机上, 我们设置1个CSS像素就会占用2个物理像素, 所以仔细观察你会发现同样是1像素但是在retina视网膜屏幕的手机上会粗一些

3.如何解决像素不一致带来的偏差问题

如果设备像素和CSS像素一样, 那么无需处理不会带来任何负面影响

如果设备像素是CSS像素的2倍, 那么我们只需将CSS像素缩小一半即可

但是有时候设备像素可能是CSS像素的1.5/3倍/4倍…

获取设备像素比DPR(Device Pixel Ratio)

DPR = 设备像素 / CSS像素

iPhone3GS : 320 / 320 = 1

iPhone4S: 640 / 320 = 2

iPhone678: 750 / 375 = 2

iPhoneX: 1125 / 375 = 3

在JS中我们可以通过 window.devicePixelRatio 获取当前的设备像素比

如何缩小?

通过 <meta name=“viewport”》的initial-scale属性来缩小

注意点: 缩放视口后视口大小会发生变化,那么物理像素就可以看做是和逻辑像素1:1了

千语创想-专业APP开发app定制服务商,提供一站式移动应用解决方案,满足您的各类需求,欢迎免费评估需求和获取报价。

 

立即免费在线制作一个APP,新手注册即送开发大礼包

提交app定制需求,免费获取报价和周期:

电脑请点击https://www.qianyuthink.com/?url=/index?uzchannel=500

手机请点击https://www.qianyuthink.com/?url=/m/customizedservice?uzchannel=500


转载请注明来自:https://www.qianyuthink.com/news/7804.html