移动端1像素边框问题

移动端1像素边框问题:

设置一个div的底部边框为 1px solid #000; 实际表现却是边框线是模糊的,或者是大于1px的。原因是:不同手机物理像素不同,对应的设备像素比不同,同样的1pxcss像素,转换成物理像素后,尺寸是不同的,所以导致了显示的差异。像图片等的显示,最好的解决方案就是为不同设备像素比的设备准备不同的图片(@1x @2x @3x)。至于1px边框。有以下几种方式实现:

  • border: .5px solid #000;
  • 阴影box-shadow
  • 边框背景图片:border-image
  • 整个元素使用带边框的背景图片
  • 转换中的缩放 scale
  • 利用JS根据window.devicePixelRatio分别进行判断修改根节点的fontSize,其他元素以rem为单位

参考:
https://segmentfault.com/a/1190000007604842
http://www.html-js.com/article/Mobile-terminal-H5-mobile-terminal-HD-multi-screen-adaptation-scheme%203041
https://www.jianshu.com/p/b880b48fa028(物理像素比较大,逻辑像素小)

设备像素比DPI = 物理像素 / 设备独立像素DIPs。
像素密度 PPI :每英寸上的像素点数,值越大显示越细腻。

1px边框问题.png

之前的文章:
http://www.jianshu.com/p/250eda53233f

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于dpr的问题可以看看张鑫旭大神的文章设备像素比devicePixelRatio简单介绍和简书一篇文章前端工程师...
    luichooy阅读 4,232评论 0 5
  • 在之前的项目中,UI告诉我说我们移动项目中的边框全部都变粗了。原谅我的近视眼,为什么我看不出什么差距了,结果UI把...
    hlemon阅读 49,794评论 13 91
  • 一、meta标签的效果 移动端页面一般会在head头部添加如下meta标签。 该meta标签是否添加对页面渲染的影...
    nimw阅读 3,638评论 0 5
  • 庄子肯定也是爱睡午觉的吧在下午两三点恍恍惚惚又无比清醒的瞬间 这歌声始料未及昨天才葬下亲爱的你 阳光下的坟路过的风...
    六洱阅读 446评论 1 4
  • 文/淡若止水 杨绛先生曾说:“人虽然渺小,人生虽然短促,但是人能学,人能修身,人能自我完善,人的可贵在人自身。” ...
    淡若止水坊阅读 1,180评论 2 22