Appearance
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。
友链
更多相关站点