css动画如何实现图片从左到右移动_结合translateX和@keyframes控制图片位移-css教程

用 translateX 实现从左到右位移动画需设 from 为 translateX(-100%)、to 为 translateX(100%)等,配合 display: block、overflow: hidden 及完整 animation 属性,避免 left 引发重排,确保 GPU 加速与跨设备流畅性。

用 @keyframes 定义从左到右的位移动画

核心是让图片的 transform: translateX() 值从负值(完全在视口外左侧)过渡到正值(完全移出右侧),中间经过 0(居中显示)。注意:起始位置不能设为 translateX(0),否则动画开始时图片已在视口内,看不到“入场”效果。

常见错误是直接写 from { transform: translateX(0); } —— 这会让动画从当前自然位置开始,失去“从左滑入”的意图。

  • 推荐起始值:translateX(-100%)(图片自身宽度的 -100%),确保完全隐藏在左侧边界外
  • 结束值根据需求选:translateX(100%)(移出右侧一屏)、translateX(calc(100vw + 100%))(彻底移出视口)或固定像素如 translateX(800px)
  • 必须配合 transform: translateX(...) 使用,不能只改 left 或 margin-left,否则会触发重排,影响性能

给图片元素添加 animation 并设置关键属性

定义好 @keyframes 后,需将动画绑定到 元素,并控制播放行为。这里容易忽略的是容器的 overflow 和图片的 display 模式。

  • 给图片加 display: block,避免默认 inline 导致底部留白干扰位移基准线
  • 父容器建议设 overflow: hidden,防止图片移出时露出边缘
  • 动画属性推荐写全:animation: slideRight 3s ease-in-out infinite,其中 ease-in-out 比 linear 更自然
  • 如果只要播一次,去掉 infinite;需要暂停/交互控制,可后续用 JS 操作 animation-play-state

为什么用 translateX 而不是 left?

left 触发 layout(重排),translateX 只触发 composite(合成),浏览器能用 GPU 加速,动画更流畅。尤其在移动端或低配设备上,差异明显。

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

本站指数

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