Skip to content

CSS Hover 悬停动画效果合集 ​

CSS :hover 伪类是前端开发中最常用的交互手段之一。通过配合 transition 和 transform 属性,只用几行 CSS 就能实现令人惊艳的悬停效果——不需要任何 JavaScript。

本分类收录了 35 种 CSS Hover 悬停动画效果,涵盖以下几类:

  • 缩放类:悬停缩放、弹性缩放、悬浮效果
  • 旋转类:旋转效果、3D 倾斜、透视悬停
  • 发光类:脉冲发光、霓虹边框、边框流光
  • 颜色类:悬停变色、颜色填充滑入
  • 滤镜类:悬停模糊、悬停像素化、悬停变亮
  • 交互反馈:卡片悬浮、点击涟漪、磁吸悬停

热门 Hover 效果推荐 ​

以下是最常用的 CSS Hover 效果,点击即可查看在线演示和代码:

Hover 动画的核心技术 ​

CSS Hover 动画主要依赖三个 CSS 属性:

属性作用
:hover伪类选择器,元素被鼠标悬停时触发
transition定义属性变化的过渡动画(持续时间、缓动函数)
transform执行 2D/3D 变换(缩放、旋转、位移、倾斜)

一个典型的 Hover 动画结构:

css
.element {
  transition: transform 0.3s ease;
}
.element:hover {
  transform: scale(1.1);
}

关键最佳实践:

  • 把 transition 写在元素默认状态上(而非 :hover),这样鼠标离开时也有平滑过渡
  • 动画时长一般控制在 0.2s~0.5s,太长会让界面感觉迟钝
  • 使用 cubic-bezier() 自定义缓动函数,实现更自然的物理动效
  • 移动端慎用 :hover——触摸屏设备没有 hover 状态,需要用 @media (hover: hover) 包裹

其他分类 ​

按钮动画 · 文字动画 · Loading 动画 · 滚动动画

常见问题 ​

Q: 移动端 hover 效果不生效怎么办? A: 移动端触摸屏没有 hover 概念,可以用 :active 代替或使用 @media (hover: hover) 仅在支持 hover 的设备上应用效果。

Q: Hover 时如何不影响其他元素的布局? A: 使用 transform 而非修改 width/height/margin/padding,CSS transform 不会触发重排(reflow),性能更好且不影响布局。

Q: 多个 Hover 效果如何组合? A: 在 :hover 中对多个属性同时设置值,可以用逗号分隔多个 transition,如 transition: transform 0.3s, box-shadow 0.4s。