移动端一像素border实现

在移动端开发中,我们拿到设计师给的移动端图,通常像素大小实现都是图尺寸的一半,那图中1px边框呢,我们实际写0.5px?但是问题是很多浏览器不认识0.5px。

那怎么实现移动端1像素呢?

我实现的方法,直接上代码:

css:

.border-top,

.border-right,

.border-bottom,

.border-left{

  position: relative;

}

.border-top::after,

.border-right::after,

.border-bottom::after,

.border-left::after{

  content: '';

  position: absolute;

  overflow: hidden;

}

.border-top::after {

  width: 100%;

  height: 1px;

  top: 0;

  left: 0;

  border-top: 1px solid #e8e8e8;

  -webkit-transform: scaleY(0.5);

  transform: scaleY(0.5);

}

.border-bottom::after {

  width: 100%;

  height: 1px;

  bottom: 0;

  left: 0;

  border-top: 1px solid #e8e8e8;

  -webkit-transform: scaleY(0.5);

  transform: scaleY(0.5);

}

.border-left::after {

  width: 1px;

  height: 100%;

  top: 0;

  left: 0;

  border-left: 1px solid #e8e8e8;

  -webkit-transform: scaleX(0.5);

  transform: scaleX(0.5);

}

.border-right::after {

  width: 1px;

  height: 100%;

  top: 0;

  right: 0;

  border-right: 1px solid #e8e8e8;

  -webkit-transform: scaleX(0.5);

  transform: scaleX(0.5);

}

/* 2倍屏 */

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

  .border-bottom::after,

  .border-top::after {

    -webkit-transform: scaleY(0.5);

    transform: scaleY(0.5);

  }

  .border-left::after,

  .border-right::after {

    -webkit-transform: scaleX(0.5);

    transform: scaleX(0.5);

  }

}

/* 3倍屏 */

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

  .border-bottom::after,

  .border-top::after {

    -webkit-transform: scaleY(0.33);

    transform: scaleY(0.33);

  }

  .border-left::after,

  .border-right::after {

    -webkit-transform: scaleX(0.33);

    transform: scaleX(0.33);

  }

}

html:

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

推荐阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 9,752评论 0 8
  • # 移动端开发 ### 1. 1px问题如何解决 #### ①伪类 + transform(比较完美) > 原理是...
    sunnyRube阅读 924评论 0 0
  • 今天是1000天写作的第三十二天。今天接着昨天说的好故事,我们来看看如写出好故事。 为什么是写?讲故事的不是说吗?...
    丁晓磊阅读 790评论 1 4
  • 起床?那还不简单。 闹钟响了,按掉,翻身再睡一会儿。或者,拿起手机,开始翻阅这一夜发生的所有那些「我未曾有机会掺和...
    朗读者晟焕阅读 439评论 0 1
  • 哈喽,大家好,我是小青琴~今天是我参加“每天一篇文章”的第26天。 今天是元宵,但是没有假,也没办法回家。好在室友...
    小青琴阅读 569评论 0 1