css:hover伪类如何增加动画效果_让悬停状态更加生动-css教程

hover 配合 transition 实现属性变化的平滑过渡,需在非 hover 状态定义 transition;复杂动画则需 @keyframes + animation;常见失效原因包括 overflow 裁切、display 切换、伪类顺序错误及移动端无 hover 支持。

hover 配合 transition 实现平滑过渡

直接写 :hover 不会自动动起来,必须搭配 transition 才能产生动画效果。它控制的是「属性变化过程」,不是动画本身。常见写法是给原始状态加 transition,悬停时只改目标值:

比如让按钮背景色渐变:

.btn {
  background-color: #007bff;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.btn:hover {
  background-color: #0056b3;
  transform: scale(1.05);
}

注意点:

  • transition 要写在非 :hover 的规则里(否则第一次悬停没效果)
  • 只对可动画的 CSS 属性生效,比如 color、opacity、transform、background-color(但不推荐用 width/height,会触发重排)
  • 多个属性用逗号分隔,各自可指定不同持续时间与缓动函数

hover 配合 @keyframes 做复杂动画

当需要循环、多阶段或非线性运动(比如弹跳、抖动、路径移动),就得用 @keyframes + animation:

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.icon:hover {
  animation: float 1.5s ease-in-out infinite;
}

关键区别:

  • animation 是主动播放的,:hover 只是触发开关
  • 加 infinite 才会循环;不加则只播一次
  • 悬停离开后默认会立刻停止并跳回初始态,如需「自然收尾」得用 animation-fill-mode: forwards 并配合 animation-direction: normal 等控制

hover 动画常见的失效原因

写了却没反应?大概率卡在这几个地方:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » css:hover伪类如何增加动画效果_让悬停状态更加生动-css教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4031037+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4031037+
  • 本周更新: 0+
  • 最后更新: 2026-03-16