移动端像素border的实现

Posted Beyrl.pan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端像素border的实现相关的知识,希望对你有一定的参考价值。

知识点一、如何在手机上看我们制作的移动端页面。

  正常我们在电脑上都是按如下图来制作手机页面的:

  

  如果要在手机上面看就不能用localhost了。所以,进入命令行,输入ipconfig查看本地ip地址:

  

  然后返回本地页面,把localhost替换成这个地址。然后把整体输入在手机上,就能看到页面在手机上的样子了。

  接下来制作我们的像素border。

  第一步:

  mixin.less

 代码:

.border-1px(@color){
    position:relative;
    &:after{
        display:block;
        position:absolute;
        left:0;
        bottom:0;
        width:100%;
        border-top:1px solid @color;
        content:\'\';
    }
}

第二步:app.vue使用:

代码:

<style lang="less">
@import \'common/style/mixin\';      <!---------------------这里是导入
#aaa
    .tab{
        display:flex;
        width:100%;
        height:40px;
        line-height:40px;
        .border-1px(rgba(7,17,27,0.1));         <!---------------------这里是使用
        .tab-item{
            flex:1;
            text-align: center;
            a{
                display:block;
                font-size:14px;
                color:#ccc;
                &.active {
                    color:rgb(240,20,20);
                }
            }
        }
    }
</style>

   接下来,需要给这个after伪类做一个缩放。

代码如下:

@media(-webkit-min-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5){
    .border-1px{
        &::after{
            -webkit-transform:scaleY(0.7);
            transform:scaleY(0.7);
        }
    }
}
@media(-webkit-min-device-pixel-ratio:2),(min-device-pixel-ratio:2){
    .border-1px{
        &::after{
            -webkit-transform:scaleY(0.5);
            transform:scaleY(0.5);
        }
    }
}

  然后,我们还需要加一个总的less,把它们一起引入到main.js里面。如图:

最后一步,我们需要把这个total.less引入到main.js里面。

 

 

  我当时引入完了之后报了一个错:是如下的错:

  

    然后我上网查找了很多相关文档博客,大致意思都说是和webpack配置文件有关。看到有一个人所自己卸载了style-loader然后重新安装,并没有配置webpack里面的相关东西。并附上了图,我一看,嗯,就是少了下图红框里的部分。我懒啊,没有卸掉重新装,直接注释掉。于是打开配置文件,在config文件夹里,注释了两个代码,就不报错了。样式也能继续用:

   最后一个注意:更改完webpack等配置文件后需要重启服务。

  

以上是关于移动端像素border的实现的主要内容,如果未能解决你的问题,请参考以下文章

移动端一像素问题

伪类实现 移动端1px 细线

stylus 移动端边框1像素问题解决方案

移动端一物理像素边框的设置

移动端像素适配

stylus解决移动端1像素边框的问题