答案:通过CSS Animation和transform: scale()实现图片缩放轮播。首先构建包含多张图片的容器,设置绝对定位与隐藏溢出;利用@keyframes定义从放大1.2倍淡入至正常尺寸再淡出的动画;为每个图片项设置不同延迟的无限循环动画;可选添加:hover暂停效果,实现纯CSS、流畅且兼容的轮播展示。

使用 CSS Animation 制作图片缩放轮播,核心是结合 @keyframes 定义动画效果,并通过 transform: scale() 控制图片的缩放变化。下面是一个简洁实用的实现方式。
1. 基本HTML结构
准备一个容器和若干图片项,每张图用一个 div 包裹:
2. 设置CSS样式与布局
让轮播容器居中显示,隐藏溢出内容,所有图片默认隐藏,只显示当前激活项:
.carousel { width: 400px; height: 300px; margin: 50px auto; position: relative; overflow: hidden; border-radius: 10px;}.carousel-item { position: absolute; width: 100%; height: 100%; opacity: 0; top: 0; left: 0;}.carousel-item img { width: 100%; height: 100%; object-fit: cover;}
3. 定义缩放动画关键帧
使用 @keyframes 创建缩放进入和淡出效果:
立即学习“前端免费学习笔记(深入)”;
@keyframes zoomFade { 0% { opacity: 0; transform: scale(1.2); } 10% { opacity: 1; transform: scale(1); } 90% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(1.2); }}
动画从放大 1.2 倍淡入,保持 1 倍大小一段时间后,再淡出并轻微放大,营造平滑过渡感。
稿定抠图
AI自动消除图片背景
76 查看详情
4. 应用动画到每个图片
为每个 .carousel-item 添加动画,通过设置不同的延迟时间实现轮播:
.carousel-item:nth-child(1) { animation: zoomFade 6s ease-in-out 0s infinite;}.carousel-item:nth-child(2) { animation: zoomFade 6s ease-in-out 2s infinite;}.carousel-item:nth-child(3) { animation: zoomFade 6s ease-in-out 4s infinite;}
每张图延迟 2 秒启动动画,总周期 6 秒,形成循环播放。你可以根据图片数量调整延迟时间。
5. 可选:添加暂停悬停效果
如果希望鼠标移上时暂停动画,可添加:
.carousel:hover .carousel-item { animation-play-state: paused;}
基本上就这些。通过控制 scale() 和 opacity 的变化,配合定时错开的动画延迟,就能实现流畅的缩放轮播效果。不需要 JavaScript,纯 CSS 实现,轻量且兼容性好。
以上就是如何用css animation制作图片缩放轮播的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1026742.html
微信扫一扫
支付宝扫一扫