专栏名称: 大转转FE
大前端
目录
相关文章推荐
共产党员  ·  黄宗德:英雄无悔 许党报国 ·  6 小时前  
共产党员  ·  黄宗德:英雄无悔 许党报国 ·  6 小时前  
前端早读课  ·  【第3529期】从自动补全到得力助手:训练 ... ·  7 小时前  
自然资源部  ·  自信之基、力量之源 | 文化和自然遗产日 ·  昨天  
自然资源部  ·  自信之基、力量之源 | 文化和自然遗产日 ·  昨天  
前端大全  ·  三大云厂同时瘫了?Cursor、ChatGP ... ·  2 天前  
前端大全  ·  你以为的 Tailwind ... ·  2 天前  
51好读  ›  专栏  ›  大转转FE

关于移动端开发1px线的一些理解和解决办法

大转转FE  · 掘金  · 前端  · 2019-07-11 03:18

正文

请到「今天看啥」查看全文


(3)设备像素比(device pixel ratio )简称dpr

设备像素比(简称dpr)定义了物理像素和设备独立像素的对应关系。它的值可以按如下的公式的得到:

设备像素比(dpr)=物理像素/逻辑像素(px) // 在某一方向上,x方向或者y方向,下图dpr=2

知道了设备像素比,我们就大概知道了1px线变粗的原因。简单来说就是手机屏幕分辨率越来越高了,同样大小的一个手机,它的实际物理像素数更多了。因为不同的移动设备有不同的像素密度,所以我们所写的1px在不同的移动设备上等于这个移动设备的1px。现在做移动端开发时一般都要加上一句话:

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

这句话定义了本页面的viewport的宽度为设备宽度,初始缩放值和最大缩放值都为1,并禁止了用户缩放。

viewport的设置和屏幕物理分辨率是按比例而不是相同的,移动端window对象有个devicePixelRatio属性,它表示设备物理像素和css像素的比例,在retina屏的iphone手机上,这个值为2或3, css里写的1px长度映射到物理像素上就有2px或3px。通过设置viewport,可以改变css中的1px用多少物理像素来渲染,设置了不同的viewport,当然1px的线条看起来粗细不一致。







请到「今天看啥」查看全文