答案:通过CSS的@keyframes和transform实现图片轮播。1. HTML结构包含外层容器和内层滑动容器,内层放置多张图片并水平排列,最后一张图重复第一张以实现无缝循环。2. CSS设置容器overflow: hidden隐藏溢出,内层使用flex布局横向排列图片,宽度设为300%(三张图),并通过@keyframes定义动画关键帧,控制translateX从0到-300%,实现平移切换。3. 动画时长8秒,无限循环,在100%时移动至第四张(即首图复制品),视觉上形成连续滚动。4. 可优化动画缓动函数为ease-in-out,添加遮罩、响应式适配及禁用选中等提升体验。该方案纯CSS实现,兼容性好,适用于静态图集展示。
实现图片轮播动画可以通过 CSS 的 关键帧动画(@keyframes) 和 变换(transform) 配合容器的溢出隐藏来完成。下面是一个简单、实用的纯 CSS 图片轮播实现方法。
@@##@@
@@##@@
@@##@@
@@##@@
注意:最后一张图重复第一张,是为了实现无缝循环效果。
.carousel-container {
width: 600px;
height: 400px;
overflow: hidden;
margin: 50px auto;
position: relative;
}
.carousel-track {
display: flex;
width: 300%; / 3张图,每张占100% /
animation: slide 8s infinite;
}
.carousel-track img {
width: 33.333%;
height: 400px;
object-fit: cover;
}
@keyframes slide {
0% {
transform: translateX(0);
}
33.33% {
transform: translateX(-100%);
}
66.66% {
transform: translateX(-200%);
}
100% {
transform: translateX(-300%);
}
}
说明:user-select: none;
基本上就这些。纯 CSS 轮播适合静态图集展示,不依赖 JavaScript,兼容性好,维护简单。如果需要交互控制(如左右按钮、指示点),再结合 JS 会更完整。