博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转载】Retina屏的移动设备如何实现真正1px的线?
阅读量:5289 次
发布时间:2019-06-14

本文共 1203 字,大约阅读时间需要 4 分钟。

文章转载自 酷勤网 

原文链接:

 

原文摘要:前些日子总被人问起 iOS Retina 屏,设置 1px 边框,实际显示 2px,如何解决?

最后找到一个还算好用的方法:伪类 + transform

原理是把原先元素的 border 去掉,然后利用:before或者:after重做 border ,并 transform 的 scale 缩小一半,原先的元素相对定位,新做的 border 绝对定位

  • 单条 border
.hairlines li{     position: relative;     border:none; }.hairlines li:after{     content: '';     position: absolute;     left: 0;     background: #000;     width: 100%;     height: 1px;     -webkit-transform: scaleY(0.5);             transform: scaleY(0.5);     -webkit-transform-origin: 0 0;             transform-origin: 0 0; }
  • 四条 border
.hairlines li{     position: relative;     margin-bottom: 20px;     border:none; }.hairlines li:after{     content: '';     position: absolute;     top: 0;     left: 0;     border: 1px solid #000;     -webkit-box-sizing: border-box;     box-sizing: border-box;     width: 200%;     height: 200%;     -webkit-transform: scale(0.5);     transform: scale(0.5);     -webkit-transform-origin: left top;     transform-origin: left top; } 样式使用的时候,也要结合 JS 代码,判断是否 Retina 屏
if(window.devicePixelRatio && devicePixelRatio >= 2){    document.querySelector('ul').className = 'hairlines';} 可以支持圆角,唯一的一点小缺陷是用不了。

转载于:https://www.cnblogs.com/xiaoxianweb/p/5695510.html

你可能感兴趣的文章
dump调试函数
查看>>
Android 利用Sharp样式设置文本框EditText圆角形状
查看>>
[YTU]_2443 ( C++习题 复数类--重载运算符3+)
查看>>
sdut_1189
查看>>
归并排序
查看>>
机器视觉:SSD Single Shot MultiBox Detector
查看>>
走遍美国 —— 各州及其别名
查看>>
国内外免费电子书(数学、算法、图像、深度学习、机器学习)
查看>>
狄利克雷过程(Dirichlet Process)
查看>>
Python 字符串拼接
查看>>
HTML5 表单元素
查看>>
五子棋项目的实现(二)博弈树算法的描述
查看>>
Hibernate : Disabling contextual LOB creation as createClob() method threw error
查看>>
【bzoj4872】[Shoi2017]分手是祝愿 期望dp
查看>>
字符串元转分
查看>>
程序员网址大全(转)
查看>>
thinkphp 防sql注入
查看>>
Go语言规范1 - 统一规范篇
查看>>
s5-11 距离矢量路由选择协议
查看>>
MSSQL-SQL SERVER一些使用中的技巧
查看>>