css3 border渐变实现

纵然尝试千万遍,也要把ta给实现

border的一条边框渐变

实现效果如图:
在这里插入图片描述

 <div class="border_bottom">borderBottom渐变</div>

方法一:背景渐变 + 遮盖

.border_bottom {
  margin-left: 200px;
  height: 50px;
  width: 150px;
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
  background-image: linear-gradient(135deg, #fff, #fff),
    linear-gradient(135deg,red, green);
  border-bottom: 2px transparent solid;
}

该方法实现原理:
使用 background-image进行背景的渐变色效果,利用background-image中第一段的linear-gradient使得div里的渐变色恢复成原背景色,而border的色值只需要使用背景色就OK👌
background-clip: 设置元素的背景(背景图片或颜色)是否延伸到边框、内边距盒子、内容盒子下面。

  • border-box
    背景延伸至边框外沿(但是在边框下层)。
  • padding-box
    背景延伸至内边距(padding)外沿。不会绘制到边框处。
  • content-box
    背景被裁剪至内容区(content box)外沿。
  • text
    背景被裁剪成文字的前景色。

background-origin: 规定了指定背景图片background-image 属性的原点位置的背景相对区域.

  • border-box
    背景图片的摆放以border区域为参考
  • padding-box
    背景图片的摆放以padding区域为参考
  • content-box
    背景图片的摆放以content区域为参考

方法二:利用伪元素 + 渐变

.border_bottom {
  margin-left: 200px;
  height: 50px;
  width: 150px;
  position: relative;
  &::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 150px;
    height: 2px;
    background: linear-gradient(to right, #f80, #2ed);
}

该方法实现原理:
利用伪元素创造一个标签,给标签设置背景色渐变,通过position进行位置的调整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值