兼容性问题_移动端css1px边框兼容性问题完美的解决方法

从事web前端开发的你,写移动端项目时,发现没移动端css里面写了1px, 实际看起来比1px粗1px边框问题,就是说你给border的css写个1px,但在手机上却变粗了显示成2px,因为自从retina屏以来,不同的手机又不同的像素密度,css中的1px并不等于移动设备中的1px,所以会出现移动端css1px边框兼容性问题。

87afc00b9c7e31d7a5ea14793a54c1df.png

移动端css1px边框兼容性解决方法:在你的移动端项目中引入一个border.css就可以很好的解决这个问题了,我们来看下它的css样式:

@charset "utf-8";.border,.border-top,.border-right,.border-bottom,.border-left,.border-topbottom,.border-rightleft,.border-topleft,.border-rightbottom,.border-topright,.border-bottomleft { position: relative;}.border::before,.border-top::before,.border-right::before,.border-bottom::before,.border-left::before,.border-topbottom::before,.border-topbottom::after,.border-rightleft::before,.border-rightleft::after,.border-topleft::before,.border-topleft::after,.border-rightbottom::before,.border-rightbottom::after,.border-topright::before,.border-topright::after,.border-bottomleft::before,.border-bottomleft::after { content: "0020"; overflow: hidden; position: absolute;}/* border * 因,边框是由伪元素区域遮盖在父级 * 故,子级若有交互,需要对子级设置 * 定位 及 z轴 */.border::before { box-sizing: border-box; top: 0; left: 0; height: 100%; width: 100%; border: 1px solid #eaeaea; transform-origin: 0 0;}.border-top::before,.border-bottom::before,.border-topbottom::before,.border-topbottom::after,.border-topleft::before,.border-rightbottom::after,.border-topright::before,.border-bottomleft::before { left: 0; width: 100%; height: 1px;}.border-right::before,.border-left::before,.border-rightleft::before,.border-rightleft::after,.border-topleft::after,.border-rightbottom::before,.border-topright::after,.border-bottomleft::after { top: 0; width: 1px; height: 100%;}.border-top::before,.border-topbottom::before,.border-topleft::before,.border-topright::before { border-top: 1px solid #eaeaea; transform-origin: 0 0;}.border-right::before,.border-rightbottom::before,.border-rightleft::before,.border-topright::after { border-right: 1px solid #eaeaea; transform-origin: 100% 0;}.border-bottom::before,.border-topbottom::after,.border-rightbottom::after,.border-bottomleft::before { border-bottom: 1px solid #eaeaea; transform-origin: 0 100%;}.border-left::before,.border-topleft::after,.border-rightleft::after,.border-bottomleft::after { border-left: 1px solid #eaeaea; transform-origin: 0 0;}.border-top::before,.border-topbottom::before,.border-topleft::before,.border-topright::before { top: 0;}.border-right::before,.border-rightleft::after,.border-rightbottom::before,.border-topright::after { right: 0;}.border-bottom::before,.border-topbottom::after,.border-rightbottom::after,.border-bottomleft::after { bottom: 0;}.border-left::before,.border-rightleft::before,.border-topleft::after,.border-bottomleft::before { left: 0;}@media (max--moz-device-pixel-ratio: 1.49), (-webkit-max-device-pixel-ratio: 1.49), (max-device-pixel-ratio: 1.49), (max-resolution: 143dpi), (max-resolution: 1.49dppx) { /* 默认值,无需重置 */}@media (min--moz-device-pixel-ratio: 1.5) and (max--moz-device-pixel-ratio: 2.49), (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 2.49), (min-device-pixel-ratio: 1.5) and (max-device-pixel-ratio: 2.49), (min-resolution: 144dpi) and (max-resolution: 239dpi), (min-resolution: 1.5dppx) and (max-resolution: 2.49dppx) { .border::before { width: 200%; height: 200%; transform: scale(.5); } .border-top::before, .border-bottom::before, .border-topbottom::before, .border-topbottom::after, .border-topleft::before, .border-rightbottom::after, .border-topright::before, .border-bottomleft::before { transform: scaleY(.5); } .border-right::before, .border-left::before, .border-rightleft::before, .border-rightleft::after, .border-topleft::after, .border-rightbottom::before, .border-topright::after, .border-bottomleft::after { transform: scaleX(.5); }}@media (min--moz-device-pixel-ratio: 2.5), (-webkit-min-device-pixel-ratio: 2.5), (min-device-pixel-ratio: 2.5), (min-resolution: 240dpi), (min-resolution: 2.5dppx) { .border::before { width: 300%; height: 300%; transform: scale(.33333); } .border-top::before, .border-bottom::before, .border-topbottom::before, .border-topbottom::after, .border-topleft::before, .border-rightbottom::after, .border-topright::before, .border-bottomleft::before { transform: scaleY(.33333); } .border-right::before, .border-left::before, .border-rightleft::before, .border-rightleft::after, .border-topleft::after, .border-rightbottom::before, .border-topright::after, .border-bottomleft::after { transform: scaleX(.33333); }}

border.css下载地址: http://tangjiusheng.com/d/file/liulanqijianrongxing/2019-06-21/border.css

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值