You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需复杂脚本实现HTML按钮的hover动画?

实现搜索引擎按钮的Hover动画(无需复杂脚本)

你的问题出在两点:一是Google按钮的class属性重复定义(同一个元素写了两次class),二是hvr-grow类没有对应的CSS样式,所以hover动画没效果。用纯CSS就能轻松解决,下面给你两种实用方案:

方案1:基础背景+边框变色动画

给按钮添加过渡动画,鼠标悬停时改变背景色和边框色,视觉反馈清晰:

.tabbuttons {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
}

.tabbutton {
  border-radius: 30px;
  font-size: 18px;
  color: var(--light-text);
  margin: 10px;
  border: 1px solid #5f6368;
  background: transparent;
  padding: 14px 18px;
  cursor: pointer;
  /* 添加过渡动画,让变化更平滑 */
  transition: all 0.3s ease;
}

/* 鼠标悬停时的样式 */
.tabbutton:hover {
  background-color: rgba(95, 99, 104, 0.2);
  border-color: #8ab4f8;
}

方案2:缩放动画(类似你尝试的hvr-grow)

如果想要缩放效果,只需要在hover时添加transform: scale()属性:

.tabbuttons {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
}

.tabbutton {
  border-radius: 30px;
  font-size: 18px;
  color: var(--light-text);
  margin: 10px;
  border: 1px solid #5f6368;
  background: transparent;
  padding: 14px 18px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.tabbutton:hover {
  transform: scale(1.05); /* 鼠标悬停时放大1.05倍 */
  border-color: #8ab4f8;
}

修正后的HTML代码

注意要把重复的class属性合并(原来的Google按钮写法属于无效语法):

<div class="tabbuttons">
  <div class="tabbutton" id="google" onclick="setsearch('Google')">Google</div>
  <div class="tabbutton" id="duckduckgo" onclick="setsearch('DuckDuckGo')">DuckDuckGo</div>
  <div class="tabbutton" id="bing" onclick="setsearch('Bing')">Bing</div>
  <div class="tabbutton" id="brave" onclick="setsearch('Brave')">Brave</div>
</div>

两种方案都不需要额外脚本,直接修改CSS就能实现平滑的hover动画,按钮原有功能不受影响。

内容的提问来源于stack exchange,提问作者Brady Hirschey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:20:44