当前位置: 首页 > Web前端 > CSS

1PX问题

时间:2023-03-31 13:41:00 CSS

原因是设备像素比:设备像素比(DPR):设备像素比=设备像素/设备独立像素设备像素是物理像素,即屏幕上有多少个逻辑点由你控制。deviceindependentpixel是一个逻辑像素,可以理解为屏幕的长宽DPR等于2,也就是说1px的宽度使用屏幕上的两个像素来显示CSS代码中写的像素.绘制的是逻辑像素,所以如果按照UED中的像素来写,最终渲染出来的1PX样式会比设计图厚,因为假设DPR等于2,UED的1PX对应物理像素的0.5PX,但是如果你写1PX,它会变粗。直接把所有UED大小除以DPR就可以解决问题吗?显然,还是会有问题,尤其是在安卓机型上,因为它能识别的最小像素是1,0.5px会被忽略。结果,在Android机型上,你设置了0.5px的边框,但是最终渲染没有边框解决方案setviewportandremvarviewport=document.querySelector("meta[name=viewport]")if(window.devicePixelRatio==1){viewport.setAttribute('内容','width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no')}if(window.devicePixelRatio==2){viewport.setAttribute('内容','width=device-width,initial-scale=0.5,maximum-scale=0.5,minimum-scale=0.5,user-scalable=no')}if(window.devicePixelRatio==3){viewport.sundefined