首页 > web前端 > css教程 > 正文

css图片轮播动画怎么写_利用animation和位移切换

P粉602998670
发布: 2025-12-21 13:35:12
原创
855人浏览过
用 CSS animation 和 transform: translateX() 可纯 CSS 实现图片轮播:HTML 扁平结构+flex 横排,父容器 overflow: hidden;@keyframes 控制 translateX 分段位移(如 4 图设 0%/-100%/-200%/-300%/0%),配合 steps() 或精确时间点实现停顿滑动效果。

css图片轮播动画怎么写_利用animation和位移切换

用 CSS animationtransform: translateX() 实现图片轮播,核心是让一组图片在水平方向上依次位移,形成循环滑动效果。不需要 JS 也能完成,但需注意结构布局和关键帧控制逻辑。

HTML 结构要扁平且可循环

把所有图片放在一个容器内,用 display: flex 横向排列,确保总宽度足够容纳全部图片(避免换行):

<div class="carousel">
  @@##@@
  @@##@@
  @@##@@
  @@##@@
</div>
登录后复制

注意:所有图片宽高需一致,或用 flex-shrink: 0 防止压缩;父容器设 overflow: hidden 裁剪超出部分。

用 translateX + animation 实现自动位移

动画本质是让整个图片组从左往右(或右往左)匀速移动,每张图占据 100% 容器宽度,位移单位为 100%。假设 4 张图,完整一轮需移动 -300%(即前三张图的宽度),最后回到起点形成循环:

立即学习前端免费学习笔记(深入)”;

Browse AI
Browse AI

AI驱动的网页内容抓取和数据采集工具

Browse AI 105
查看详情 Browse AI
  • @keyframes 定义从 translateX(0)translateX(-300%) 的线性运动
  • 动画时长按需设定(如 8s),并用 infinite 循环
  • 关键点:最后一帧必须回到 translateX(0),否则会跳变;可用 steps(4) 或分段 keyframes 控制停顿

示例动画(4 图无缝循环):

@keyframes slide {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(-100%); }
  50%  { transform: translateX(-200%); }
  75%  { transform: translateX(-300%); }
  100% { transform: translateX(0); }
}

.carousel {
  display: flex;
  overflow: hidden;
  animation: slide 8s ease-in-out infinite;
}
登录后复制

让每张图停留一段时间再切换

如果希望每张图静止展示 2 秒、滑动 0.5 秒,就不用 ease-in-out,改用 steps(4) 或手动拆分关键帧时间点:

  • 总时长设为 10s(4 图 × 2s 展示 + 4 次过渡 × 0.5s = 10s)
  • 0%, 20%, 40%, 60% 分别对应四张图起始位置,用 transform: translateX(-N%)
  • 过渡只发生在 5%、25%、45%、65% 等短区间,其余时间保持静止

这样就能模拟“停→滑→停→滑”的真实轮播节奏。

兼容性和微调建议

移动端要注意开启硬件加速,加 transform: translateZ(0)will-change: transform 提升流畅度;若图片多,可复制首尾图实现视觉无缝(即 1-2-3-4-1),但 CSS 动画中更推荐用 keyframes 精确控制位移值,避免 DOM 扩展。

以上就是css图片轮播动画怎么写_利用animation和位移切换的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号