设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 综合聚焦 > 编程要点 > 正文

css怎样实现丰富的边框效果?教你四个技巧

发布时间:2022-01-14 13:44 所属栏目:[编程要点] 来源:互联网
导读:今天给大家分享的是关于css边框的内容,在CSS中,我们可以使用border来实现边框效果,但是一般的边框是黑边直线的,这样有些单调,其实边框也是有很多丰富的样式的,因此这篇文章就给大家分享几个实现好看的CSS边框的技巧,感兴趣的朋友可以参考。 一、多重
    今天给大家分享的是关于css边框的内容,在CSS中,我们可以使用border来实现边框效果,但是一般的边框是黑边直线的,这样有些单调,其实边框也是有很多丰富的样式的,因此这篇文章就给大家分享几个实现好看的CSS边框的技巧,感兴趣的朋友可以参考。
 
    一、多重边框[1]
    背景知识:box-shadow,outline
    鉴于使用场景的多元化,多重边框的设计越来越多,以往可以借助 border-image 属性应付一下,但是这个在css 代码层面并不是很灵活。现在我们借助 box-shadow 和 outline 两个属性来分别实现多重边框。
 
    1、box-shadow 方案
    思路:利用 box-shadow 的第四个参数(扩张半径)的大小,多重投影
    代码示例:
 
  <div class="border-multiple">
        多重边框实现方案一:box-shadow
    </div>
 
    .border-multiple {
        margin: 50px auto;
        padding: 20px;
        width: 600px;
        background-color: #fff;
        box-shadow: 0 0 0 10px #f0f,
                    0 0 0 15px #00f,
                    0 2px 15px 15px rgba( 0, 0, 0, .8);
    }
 
 
多重边框--box-shadow
 
    小结:
 
    1、阴影并不影响布局,也不会受到box-sizing的影响
    2、支持逗号分隔语法,可以创建任意数量的投影
    3、缺点:只能实现实线的边框,不能实现其他样式的边框
 
    2、outline 方案
    代码示例:
 
  <div class="border-outline">
        多重边框实现方案二:outline
    </div>
    .border-outline {
        margin: 200px auto;
        padding: 20px;
        width: 600px;
        background-color: #ff0;
        outline: 3px dashed #0f0;
        outline-offset: -10px;
    }
 
 
多重边框–outline
 
    小结:
 
    1、前提是实现两层边框
    2、可能需要 outline-offset 的属性值
    3、outline 的描边默认是矩形,当有圆角时会认为是 bug , 不能贴合圆角
    4、不支持逗号语法
 
    二、边框内圆角[2]
    背景知识:box-shadow,outline
    为了解决上面例子小结3中的bug,可以用box-shadow 扩张半径来填补掉 圆角与outline 之间的空隙。
    代码示例:
 
  <div class="inner-rounding">
         需要借助 box-shadow、outline、“多重边框”来实现
         注意点 : box-shadow 的扩展半径应该是 圆角半径的 0.5倍
    </div>
    .inner-rounding {
        background-color: #ccc;
        margin: 50px auto;
        padding: 20px;
        width: 600px;
        padding: 20px;
        border-radius: 20px;
        box-shadow: 0 0 0 10px #f00;
        outline: 10px solid #f00;
    }
    注意点 : box-shadow 的扩展半径应该是 圆角半径的 0.5倍;严格来说应该是(√2 - 1) 倍,这里取 0.5 倍是为了更好的计算
 
 
 
边框内圆角
 
    三、半透明边框[3]
    背景知识:rgba 或 hsla 颜色属性,background-clip
    思路:让边框呈现在 被裁剪背景的 padding-box 里
    代码示例:
 
   <div class="border-opacity">
         半透明边框的实现
    </div>
    .border-opacity {
        margin: 50px auto;
        padding: 20px;
        width: 600px;
        border: 10px solid hsla(0, 0%, 100%, 0.5);
        background-color: #fff;
        background-clip: padding-box;
    }




(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读