css 流光按钮

303 阅读1分钟
<div id="app">
  <a class="buttonClick">按钮</a>
</div>

.buttonClick {
  text-decoration: none;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  font-size: 24px;
  background: linear-gradient(90deg, #03a9f4,#f441a5,#ffeb3b,#03a9f4);
  background-size: 400%;
  width: 400px;
  height: 100px;
  line-height: 100px;
  text-align: center;
  color: white;
  text-transform: uppercase;
  border-radius: 50px;
  z-index: 1;
}
  .buttonClick:hover {
    // background-color: white;
    animation: light 5s infinite;
  }
      
  @keyframes light {
      100%{
          background-position: -400% 0;
      }
  }

.buttonClick::before {
  content: "";
  position: absolute;
  left: -5px;
  top: -5px;
  right: -5px;
  bottom: -5px;
  background: linear-gradient(90deg, #03a9f4,#f441a5,#ffeb3b,#03a9f4);
  background-size: 400%;
  border-radius: 50px;
  filter: blur(20px);
  z-index: -1;
  }
      
  /* 伪元素设置动画 */
  .buttonClick:hover::before {
      animation: light 5s infinite;
  }