• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
clbStudy
博客园    首页    新随笔    联系   管理    订阅  订阅
随手写了个按钮悬停动画,简单但超有质感!
你好,我是 Silvana,一名前端开发。 这里记录我写过的代码、做过的项目,以及一些真实想法。 这

你好,我是 Silvana,一名前端开发。

这里记录我写过的代码、做过的项目,以及一些真实想法。

这是一个按钮悬停的流光效果,鼠标悬浮到按钮上会发光,还有细线条一层层展开。

1. HTML结构

<div class="container">
  <a href="#" class="btns">Button</a>
  <a href="#" class="btns">Button</a>
</div>

2. js交互

document.addEventListener("DOMContentLoaded", function() {
  let btns = document.querySelectorAll(".btns");
  btns.forEach(function(btn) {
    for (let i =0; i< 40; i++) {
      let span = document.createElement("span");
      span.style.top = `${i * 2}px`;
      btn.appendChild(span);
      let randomDelay = Math.random() * 0.75;
      span.style.transitionDelay = `${randomDelay}s`;
    }
  })
})

3. CSS样式

主要是 hover 时的发光滤镜和线条展开的节奏,动一点点参数感觉就不一样。

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #363a3b;
}
.container {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.btns {
  position: relative;
  width: 240px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: rgba(0,0,0,0.1);
  font-size: 2em;
  text-transform: uppercase;
  text-decoration: none;
  color: #7ef0ff;
  letter-spacing: 0.1em;
  transition: 0.5s;
  transition-delay: 0.5s;
}
.btns:hover {
  filter: drop-shadow(0 0 10px #7ef0ff) drop-shadow(0 0 30px #7ef0ff);
  color: #363a3b;
}
.btns span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #7ef0ff;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.25s ease-in-out;
}
.btns:hover span {
  transform: scaleX(1);
  transform-origin: left;
}

写着写着就到了结尾,祝您今晚有个好梦(代码少报错一点)。

本文由mdnice多平台发布

posted on 2026-01-23 15:38  Silvana  阅读(0)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3