• CSS3实现0.5像素边框


    实现方法

    1.设置目标元素作为定位参照

    1
    2
    3
    .border {
        position: relative;
    }

    2.给目标元素添加一个伪元素before或者after,并设置绝对定位

    1
    2
    3
    4
    .border:before {
        content: "";
        position: absolute;
    }

    3.给伪元素添上1px的边框

    1
    border: 1px solid red;

    4.设置伪元素的宽高为目标元素的2倍

    1
    2
    width: 200%;
    height: 200%;

    5.缩小0.5倍(变回目标元素的大小)

    1
    2
    transform-origin: 0 0;
    transform: scale(0.5, 0.5);

    6.再把border包进来

    1
    box-sizing: border-box;

    简言之就是先放大再缩回来,border-box是关键,否则边框不会一起缩放

    完整代码

    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    .border {
        position: relative;
    }
     
    .border:before {
        content: "";/* 注意这里为双引号 */
        position: absolute;
        width: 200%;
        height: 200%;
        border: 1px solid #ff0000;
        border-radius:5px;/* 也可以设置圆角 */
        -webkit-transform-origin: 0 0;
        -moz-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        -o-transform-origin: 0 0;
        transform-origin: 0 0;
        -webkit-transform: scale(0.5, 0.5);
        -ms-transform: scale(0.5, 0.5);
        -o-transform: scale(0.5, 0.5);
        transform: scale(0.5, 0.5);
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    点击查看Demo(建议用手机端打开,看的更明显)

  • 相关阅读:
    C#之设计模式
    C#之索引器
    C#基础强化-继承与多态
    C#基础强化-进程操作
    WKWebView与JavaScript交互基础
    HTML之JS学习
    HTML之CSS学习
    HTML学习
    玩诈欺的小杉
    最大异或和
  • 原文地址:https://www.cnblogs.com/shaozhu520/p/11314877.html
Copyright © 2020-2023  润新知