美文网首页
移动端渲染1px边框

移动端渲染1px边框

作者: 晴天小猪L | 来源:发表于2017-09-28 16:42 被阅读0次

移动端渲染1px边框,在安卓设备上ok,没问题,但是到了ios设备上,渲染的会是2px,甚至是3px。可是明明写的1px啊,渲染的为什么不对啊?接下来了解一下不得不说的DPR(Device Pixel Ratio)。

ios设备使用的是Retina屏,而Retina屏的分辨率是普通屏幕的2倍。所以1px的边框显示的是2px。

DPR:设备物理像素和设备独立像素的比值。

获取DPR的方式:

在js中,可以用window.devicePixelRatio获取当前设备的dpr。

在css中,可通过-webkit-device-pixel-ratio,-webkit-min-device-pixel-ratio和 -webkit-max-device-pixel-ratio进行媒体查询,对不同dpr的设备,做一些样式适配。

例如:

.border{border:1px solid #999}

@media screen and (-webkit-min-device-pixel-ratio: 2){.border { border:0.5px solid #999}}

@media screen and (-webkit-min-device-pixel-ratio: 3){.border { border:0.333333px solid #999}}

还可以用伪类解决,构建一个1px的伪元素,将它的宽高放大到2倍,边框是1px,然后再缩放到0.5;如下:

.radius-border{position: relative;}

@media screen and (-webkit-min-device-pixel-ratio: 2){

.radius-border:before{

content: "";

box-sizing: border-box;

position: absolute;

width: 200%;

height: 200%;

left: 0;

top: 0;

border:1px solid #999;

-webkit-transform(scale(0.5));

-webkit-transform-origin: 0 0;

transform(scale(0.5));

transform-origin: 0 0;

}

}

或者使用淘宝提供的flexible.js,但适用于ios设备,安卓设备不可以。

相关文章

  • 前端遇到的那些技术难点及性能优化之css篇

    移动端兼容 css篇 移动端的 1px 问题描述:1px 的边框。在高清屏下,移动端的 1px 会很粗。 产生原因...

  • 移动端适配及1px边框问题

    1、移动端适配 2、1px边框问题

  • 移动端渲染1px边框

    移动端渲染1px边框,在安卓设备上ok,没问题,但是到了ios设备上,渲染的会是2px,甚至是3px。可是明明写的...

  • 1px

    CSS中1px分割线处理移动web开发之像素和DPR详解7种方法解决移动端Retina屏幕1px边框问题IOS基础...

  • 移动端一像素边框

    如何实现在移动端中显示一像素的边框 实现方案一:0.5像素 标准边框语法div{ border: 1px sol...

  • 移动端1像素边框问题

    移动端1像素边框问题: 设置一个div的底部边框为 1px solid #000; 实际表现却是边框线是模糊的,或...

  • 1px边框问题

    问题:ui设计稿中边框为1px,在实际的前端开发,移动端设备中会出现设置border:1px solid #000...

  • 移动端1px边框

  • 移动端1px边框

    为什么1px的边框在移动端上显示会比较粗呢?是因为不同的手机有不同的像素密度。物理像素:设备像素;设备独立像素:c...

  • 常用css总结

    垂直居中 伪类 + transform 实现移动端 Retina 屏幕 1px 边框 flex常用布局盒结构 关于...

网友评论

      本文标题:移动端渲染1px边框

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