css制作轮番图
使用纯CSS制作轮播图
通过CSS的animation和@keyframes可以实现简单的自动轮播效果。以下是一个基础实现示例:
<div class="slider">
<div class="slides">
<div class="slide">Slide 1</div>
<div class="slide">Slide 2</div>
<div class="slide">Slide 3</div>
</div>
</div>
.slider {
width: 100%;
overflow: hidden;
}
.slides {
display: flex;
width: 300%; /* 3张图片 */
animation: slide 10s infinite;
}
.slide {
width: 33.33%;
height: 300px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
}
@keyframes slide {
0% { transform: translateX(0); }
33% { transform: translateX(-33.33%); }
66% { transform: translateX(-66.66%); }
100% { transform: translateX(0); }
}
添加导航指示器
通过:target伪类实现点击导航跳转:
<div class="slider">
<div class="slides">
<div id="slide1" class="slide">Slide 1</div>
<div id="slide2" class="slide">Slide 2</div>
<div id="slide3" class="slide">Slide 3</div>
</div>
<div class="indicators">
<a href="#slide1">1</a>
<a href="#slide2">2</a>
<a href="#slide3">3</a>
</div>
</div>
.slides {
scroll-snap-type: x mandatory;
overflow-x: scroll;
display: flex;
}
.slide {
scroll-snap-align: start;
min-width: 100%;
}
/* 隐藏滚动条 */
.slides::-webkit-scrollbar {
display: none;
}
响应式轮播设计
使用CSS媒体查询适配不同屏幕:
@media (max-width: 768px) {
.slide {
height: 200px;
font-size: 1.5rem;
}
.indicators a {
padding: 5px;
font-size: 0.8rem;
}
}
过渡效果优化
添加平滑的过渡效果:
.slides {
transition: transform 0.5s ease-in-out;
}
.slide {
transition: opacity 0.3s ease;
}
无限循环技巧
通过克隆首尾元素实现无缝循环:

.slides {
width: 400%; /* 原始3张+克隆1张 */
}
@keyframes slide {
0% { transform: translateX(0); }
25% { transform: translateX(-25%); }
50% { transform: translateX(-50%); }
75% { transform: translateX(-75%); }
100% { transform: translateX(0); }
}
这些方法展示了仅用CSS实现轮播图的核心技术,实际项目中可能需要根据具体需求调整参数和样式。






