美文网首页
移动端1像素的问题

移动端1像素的问题

作者: 程序员之路 | 来源:发表于2017-09-28 20:48 被阅读0次

移动端1像素的问题

问题:一般在移动端,由于dpr(设备像素比)不为1,在PC端显示1像素的边框,在移动端其实显示为2px。解决这个问题,主要思想是:使用伪元素设置1px的边框,然后使用媒体查询,根据dpr的大小,对边框进行缩放(scaleY)。详细代码如下所示:

App.vue:

商品评价商店@import"./common/stylus/mixin.styl"@import"./common/stylus/base.styl"#app

.tab

display: flex

width:100%

height:40px

line-height:40pxborder-1px(blue)/*!!!!!!*/

.tab-items

flex:1text-align: center

font-size:14px

& > a

display: block

width:100%

color:rgb(77, 85, 93)&.router-link-active

color:rgb(240, 20, 20).seller

border-bottom:1px solid blue  /*用于对比,在移动端实际显示2px*/

mixin.styl:

border-1px($color)

position: relative&::afterposition: absolute

left:0bottom:0width:100%content:' 'border-top:1px solid$color//图片的mixin,根据图片的不同dpr进行适配下显示高清问题bg-image($url)

background-image: url($url+"@2x.png")

@media (-webkit-min-device-pixel-ratio:3),(min-device-pixel-ratio:3)

background-image: url($url+"@3x.png")

这里的border-1px($color)就是真正处理1像素边框问题的关键,通过伪元素after重做border,并且支持传入颜色变量$color来自定义颜色。

这里的bg-image($url)是负责处理图片在不同dpr下显示的问题,原来跟1像素边框问题差不多,不过这里不需要重做,只是根据不同的media query来调用不同的图片显示,而这些图片是需要放在相对应的文件夹的。

base.styl:进行缩放

body, html

line-height: 1

font-weight: 200

font-family: 'PingFang SC', 'STHeitiSc-Light', 'Helvetica-Light', Arial, sans-serif@media (-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)

.border-1px

&::after

-webkit-transform: scaleY(0.7)

transform: scaleY(0.7)

@media (-webkit-min-device-pixel-ratio: 2),(min-device-pixel-ratio: 2)

.border-1px

&::after

-webkit-transform: scaleY(0.5)

transform: scaleY(0.5)

这里的修复1像素边框问题会拆分为2个部分,一个部分是这里的base.styl里面处理缩放,另外一部分是在mixin.styl里面处理重做border。

这里是一个base模块文件,只保留了基本的共用的css,需要结合其他的css文件(stylus)来合并理解

dpr一般是1或者2,1.5只是为了更精细的去适配1和2之间的手机型号

相关文章

  • 移动端1像素的问题

    移动端1像素的问题 问题:一般在移动端,由于dpr(设备像素比)不为1,在PC端显示1像素的边框,在移动端其实显示...

  • 移动端/问题

    均等分問題 核心原因: 分辨率不同,安卓手机底部普遍含有虚拟导航栏解决办法: 外框flex布局,flex:1可以自...

  • H5在移动端的适配

    使用H5写移动端代码时,经常会遇到在PC端显示正常,但到移动端,会出现很多问题。常见问题如下: 移动端的双击或者双...

  • Rhyke.js 使用例子

    移动端桌面端无法同时开启。移动端长按方案有问题。判断错误算法可优化。

  • 请详解移动端点透,为什么会发生点透?描述发生的场景及解决方案

    提到移动端点透问题,就不得不先提到移动端的click事件300ms延迟问题 一、移动端click事件300ms延迟...

  • 书签管理器4

    移动端问题 关于移动端适配,你必须要知道的 - 掘金 稍微整理了几个经常在...

  • 移动端APP开发遇到的问题

    1,移动端100vh的问题 问题描述 在移动端使用 100vh 时,发现在 Chrome、Safari 浏览器中,...

  • 移动端适配问题

    移动端适配问题 在head中设置: javascript 样式写法:

  • 移动端适配问题

    适配是什么:在不同尺寸的手机设备上,页面相对性的达到合理的展示(自适应)或者保持统一效果的等比缩放(看起来差不多)...

  • 移动端适配问题

    前言 最近自己在整一个移动端的项目,自认为之前已经开发过很多的移动端项目,对适配还算比较了解,但是这次在做的时候自...

网友评论

      本文标题: 移动端1像素的问题

      本文链接:https://www.haomeiwen.com/subject/pnivextx.html