移动端1px适配

明明设置了边框是1px,你为什么在移动端上看起来像2px?

方法1:

采用box-shadow

.box{
    box-shadow:0px 1px 1px -1px #000;//下边线
    box-shadow:0px -1px 1px -1px #000;//上边线
    box-shadow:1px 0px 1px -1px #000;//右边线
    box-shadow:-1px 0px 1px -1px #000;//左边线
}

方法2:

采用伪元素和transform:scale();来实现

.box{
    position:relative;
}
//左边线
.box::after{
    content:'';
    position:absolute;
    display:block;
    left:0;
    top:0;
    background-color:#000;
    width:1px;
    height:100%;
    transform:scale(0.5);
    transform-origin:left top;
}
//右边线
.box::after{
    content:'';
    position:absolute;
    display:block;
    right:0;
    top:0;
    background-color:#000;
    width:1px;
    height:100%;
    transform:scale(0.5);
    transform-origin:right top;
}
//上边线
.box::after{
    content:'';
    display:block;
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:1px;
    background-color:#000;
    transform:scale(0.5);
    transform-origin:left top;
}
//下边线
.box::after{
    content:"";
    display:block;
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:1px;
    background-color:#000;
    transform:scale(0.5);
    transform-origin:left bottom;
}

//四边都有
.box::after{
    content:'';
    position:absolute;
    display:block;
    box-sizing:border-box;
    left:0;
    top:0;
    width:200%;
    height:200%;
    border:1px solid #000;
    transform:scale(0.5);
    transform-origin:left top;
}

Tips:

​ 水平的边width:100%;height:1px;

​ 垂直的边:height:100%,width:1px;

方法3

通过设置viewport的scale值。还没有理解这种方法,先贴上链接,以后再去慢慢研究

移动端1px解决方案


  转载请注明: TomoFur 移动端1px适配

 上一篇
Promise Promise
所谓promise,简单来说是一个容器,里面保存着某个未来才会结束的事情(通常是一个异步操作)的结果,从语法上来讲Promise是一个对象,从它可以获取异步操作的消息。 Promise对象代表着一个异步操作,有三种状态,Pending(进行
2019-07-05
下一篇 
手动实现call,apply和bind 手动实现call,apply和bind
还是有点东西的呦! 手动实现call预备知识:如果一个函数作为一个对象的属性,那么通过对象的.运算符调用此函数,this就是此对象 Function.prototype.myCall = function(context){ i
2019-07-02
  目录