• css多重边框


    一、使用box-shadow实现多重边框

    html

    <div class="multiple"></div>

    css

    .multiple{
      background: yellowgreen;
      box-shadow: 0 0 0 10px #655,0 0 0 20px deeppink;
      margin: 200px;
      width :300px;
      height:200px;
    }

    效果图

    值得说明的是,box-shadow是层层叠加的,第一层投影位于最顶层,依次类推。因此你需要按照此规律扩张半径。比如上面的代码,如果我们想在外层在加一个5px的外框,那么久需要指定扩张半径的值为25px(20px+5px)。上述方法所创建出的“假的边框”出现在元素的外圈,他们并不会响应鼠标事件,比如悬停或者点击,如果这一点非常重要,你可以给box-shadow属性加上inset关键字,来使投影绘制在元素的内圈,注意此时需要额外的内边距俩腾出足够的空间,代码如下。

    css

    .multiple{
      background: yellowgreen;
      box-shadow: inset 0 0 0 10px #655,inset 0 0 0 20px deeppink;
      padding: 20px;
      margin: 200px;
      width :300px;
      height:200px;
    }

    加padding和不加padding效果图

    二、使用outline实现二重边框(缝边效果)

     html

    <div class="multiple"></div>

    css

    .multiple{
      background: yellowgreen;
      border: 10px solid #655;
      outline: 10px solid deeppink;
      width :300px;
      height:200px;
      margin: 100px;
    }

    效果图

    注意:

    1. 这种方法只适用于双层边框的场景;

    2. 边框不一定融合border-radius产生的圆角

    3. 可以接受负值,因此可以实现缝边效果,如下:

    css

    .multiple{
      background: #655;
      border-radius: 20px;
      outline: 2px dashed white;
      outline-offset: -15px;  
      width :300px;
      height:200px;
      margin: 100px;
    }

    效果图

     使用border+outline也可以实现这种效果:

    css

    .multiple{
      background: #655;
      border: 2px dashed white;
      outline: 10px solid #655;
      width :300px;
      height:200px;
      margin: 100px;
    }

    效果图

  • 相关阅读:
    Golang 需要避免踩的 50 个坑(二)
    Golang 需要避免踩的 50 个坑1
    Golang两种执行流程以及区别
    go安装配置
    h5表单亲测
    HTML5-表单 自带验证
    后台日志实现
    jQuery Validate验证框架详解,提交前验证
    用cProfile做性能分析【转】
    tmux 如何翻页
  • 原文地址:https://www.cnblogs.com/Anita-meng/p/7866553.html
Copyright © 2020-2023  润新知