css实现1px 像素线条_解决移动端1px线条的显示方式

更新日期: 2018-04-08阅读量: 2438标签: px

使用css 绘制出 1px 的边框,在移动端上渲染的效果会出现不同,部分手机发现1px 线条变胖了,这篇文章整理2种方式实现1px 像素线条。


1、利用box-shadow + transform 

<style>
span.onepixel{
    width: 300px;position: relative;top:50px;
}
span.onepixel::after {
    content: '';
    width: 300px;
    position: absolute;
    bottom: 0; 
    left: 0;
    box-shadow: 0 0 0 1px #666;
    transform-origin: 0 bottom;
    transform: scaleY(.5) translateZ(0);
}
@media (min-resolution: 2dppx) {
    span.onepixel.shadow::after {
      box-shadow: 0 0 0 .5px #666;
    }
 }
@media (min-resolution: 3dppx) {
    span.onepixel.shadow::after {
      box-shadow: 0 0 0 .333333px #666;
    }
}
</style>
<span class="onepixel shadow"></span>


2、利用border + 伪元素 + transform

<style>
  span.onepixel {
    display: block;
    width: 300px;
    position: relative;
  }
  span.onepixel::before, span.onepixel::after {
    content: "";
    display: block;
    position: absolute;
    transform-origin: 0 0;
  }
  span.onepixel.top::before {
    width: 100%;
    top: 0; left: 0;
    border-top: 1px solid #666;
    transform-origin: 0 top;
  }
  @media (min-resolution: 2dppx) {
    span.onepixel.top::before {
      width: 200%;
      transform: scale(.5) translateZ(0);
    }
  }
  @media (min-resolution: 3dppx) {
    span.onepixel.top::before {
      width: 300%;
      transform: scale(.333333) translateZ(0);
    }
  }
</style>

<span class="onepixel top"></span>




站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: https://www.fly63.com/article/detial/597

移动端1px解决方案总汇

最近在写移动端 H5 应用,遇到一个值得记录下来的点。现在从它的由来到实现,我们来聊一下移动端 1px,说 1px 不够准确,应该说成 1 物理像素。

小程序获取px后转为rpx

获取设备信息时得到的窗口高度宽度是px为单位的。 在实际使用时,一般使用rpx ,中间要有个转换过程

移动端1px像素解决方式,从1px像素问题剖析像素及viewport

在移动端web开发过程中,如果你对边框设置border:1px,会发现,边框在某些手机机型上面显示的1px比实际感觉会变粗,这也就是1像素问题。如下图是对桌面浏览器和移动端border设置1px的比较。那么是什么导致这种原因的呢?

px妙转rem

px:像素,相对长度单位,相对于显示器屏幕的分辨率而言;rem:这是个web前端中的新成员,是CSS3中新增的一个相对单位。相对的只是html根元素;

Retina屏的移动设备如何实现真正1px的线?

前些日子总被人问起 iOS Retina 屏,设置 1px 边框,实际显示 2px,如何解决?原来一直没在意,源于自己根本不是像素眼……今天仔细瞅了瞅原生实现的边框和CSS设置的边框,确实差距不小……

移动端Retina屏boder 1px显示为2px或3px的解决方法

我们在开发移动端web项目时经常遇到设置border:1px,但是显示的边框却为2px或是3px粗细,这是因为设备像素比devicePixelRatio为2或3引起的。

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!