鼠标hover button按钮背景颜色动画渐变切换特效

自定义鼠标hover按钮时,botton的背景颜色渐变效果

<!DOCTYPE html>

<html lang="en">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title></title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style>
    body {
      font-family: 'Montserrat', sans-serif;
      margin: 0;
    }

    .container {
      display: flex;
      justify-content: center;
      align-items: center;
      align-content: center;
      flex-wrap: wrap;
      width: 80vw;
      margin: 0 auto;
      min-height: 100vh;
    }

    .btn {
      flex: 1 1 auto;
      margin: 10px;
      padding: 30px;
      text-align: center;
      text-transform: uppercase;
      transition: 0.5s;
      background-size: 200% auto;
      color: white;
      box-shadow: 0 0 20px #eee;
      border-radius: 10px;
    }


    .btn:hover {
      background-position: right center;
    }

    .btn-1 {
      background-image: linear-gradient(to right, #f6d365 0%, #fda085 51%, #f6d365 100%);
    }

    .btn-2 {
      background-image: linear-gradient(to right, #fbc2eb 0%, #a6c1ee 51%, #fbc2eb 100%);
    }

    .btn-3 {
      background-image: linear-gradient(to right, #84fab0 0%, #8fd3f4 51%, #84fab0 100%);
    }

    .btn-4 {
      background-image: linear-gradient(to right, #a1c4fd 0%, #c2e9fb 51%, #a1c4fd 100%);
    }

    .btn-5 {
      background-image: linear-gradient(to right, #ffecd2 0%, #fcb69f 51%, #ffecd2 100%);
    }
  </style>
</head>

<body>
  <div class="container">
    <a class="btn btn-1">Hover me</a>
    <a class="btn btn-2">Hover me</a>
    <a class="btn btn-3">Hover me</a>
    <a class="btn btn-4">Hover me</a>
    <a class="btn btn-5">Hover me</a>
  </div>
</body>

</html>

附言:
浏览器对js动画的性能消耗要高于css样式的动画,尽可能的选择css样式做动画
当然,如果需要多帧,循环的动画还是建议使用animation定义多帧,亦或者选择transition
这种是单纯的css背景渐变,有兴趣的可以尝试一下按钮背景的基础上,伪元素before/after 动画的渐变,很nice!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李泽举

如对你有帮助,那我就没白写

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

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

打赏作者

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

抵扣说明:

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

余额充值