一个CSS渐变下划线效果的实用技巧

下划线它只用到了CSS的渐变背景、背景大小调整、位置设置、鼠标hover 过渡等基本属性和技巧。

分析与实现

我们先看一下基本的结构。

  <h2 class="title">
    <span>你好啊,嘴巴嘟嘟</span>
  </h2>

然后我们给span 元素添加一个线性渐变背景。

 .title span{
    background: linear-gradient(to right,#ec685c,#61c454);
}

在这里插入图片描述

你会发现行盒的背景是可以跟随文字换行的。

我们再来改变一下背景图的大小。

.title span{
      background: linear-gradient(to right,#ec685c,#61c454);
      background-size: 100px;
    }

在这里插入图片描述

背景图重复了,我们将背景图设置no-repeat 让背景图不重复。

 .title span{
      background: linear-gradient(to right,#ec685c,#61c454) no-repeat;
      background-size: 100% 2px;
    }

在这里插入图片描述
静态的效果已经实现了。

我们需要的是,鼠标移入的时候背景从左边出来,也就是说最开始背景的宽度是0,鼠标移入后宽度逐渐变成100%,我们给这个变化过程加一个过渡时间。

.title span{
      background: linear-gradient(to right,#ec685c,#61c454) no-repeat;
      background-size: 0 2px;
      transition: background-size 1000ms;
    }
    .title span:hover{
      background-size: 100% 2px;
    }

在这里插入图片描述
我们会发现进去的时候是从左边出来的,但是退出的时候应该是从右边退出才对。

那你思考一下,影响背景位置的是什么?不就是设置的位置吗。

我们看之前设置的位置left bottom 靠左靠下。

所以说背景图进出都是靠左的,我们要的是出来的时候靠左,退出的时候靠右。

那我们直接给span 设置right 靠右行不行?显然是不行的,那样进出都靠右了。

我们再思考一下,他是何时出现,何时退出的?

很明显是hover的时候出现,鼠标离开的时候退出,那么就是说,hover的时候应该靠左,离开的时候靠右,那离开的时候也就是自己span 的初始值。

我们来试一下。

  .title span{
      background: linear-gradient(to right,#ec685c,#61c454) no-repeat right bottom;
      background-size: 0 2px;
      transition: background-size 1000ms;
    }
    .title span:hover{
      background-position-x: left;
      background-size: 100% 2px;
    }

在这里插入图片描述
好了,这样我们的效果就实现了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘴巴嘟嘟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值