css如何制作幻灯
使用纯CSS制作幻灯片
通过CSS的@keyframes和动画属性可以实现简单的幻灯片效果。以下是一个基础示例:
<div class="slider">
<div class="slide slide1"></div>
<div class="slide slide2"></div>
<div class="slide slide3"></div>
</div>
.slider {
width: 300px;
height: 200px;
position: relative;
overflow: hidden;
}
.slide {
position: absolute;
width: 100%;
height: 100%;
opacity: 0;
animation: slideShow 9s infinite;
}
.slide1 {
background: red;
animation-delay: 0s;
}
.slide2 {
background: green;
animation-delay: 3s;
}
.slide3 {
background: blue;
animation-delay: 6s;
}
@keyframes slideShow {
0%, 33.33% {
opacity: 1;
}
33.34%, 100% {
opacity: 0;
}
}
使用CSS过渡效果
通过:hover伪类和过渡属性创建交互式幻灯片:
.slider {
width: 300px;
height: 200px;
position: relative;
overflow: hidden;
}
.slide {
position: absolute;
width: 100%;
height: 100%;
transition: transform 0.5s ease;
}
.slide:not(:first-child) {
transform: translateX(100%);
}
.slider:hover .slide {
transform: translateX(-100%);
}
响应式幻灯片设计
结合CSS媒体查询使幻灯片适应不同屏幕尺寸:
.slider {
width: 100%;
max-width: 800px;
height: 0;
padding-bottom: 50%; /* 保持2:1宽高比 */
}
@media (max-width: 600px) {
.slider {
padding-bottom: 75%; /* 移动端改为4:3比例 */
}
}
无限循环幻灯片
通过调整关键帧实现无缝循环:
@keyframes infiniteSlide {
0%, 25% {
transform: translateX(0);
}
30%, 55% {
transform: translateX(-100%);
}
60%, 85% {
transform: translateX(-200%);
}
90%, 100% {
transform: translateX(-300%);
}
}
.slider {
animation: infiniteSlide 10s infinite;
}
添加导航指示器
使用CSS伪元素创建幻灯片导航点:
.slider::after {
content: '';
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
display: flex;
}
.slider::after::before {
content: '○';
margin: 0 5px;
}
.slide:target ~ .slider::after::before {
content: '●';
}
这些方法展示了纯CSS实现幻灯片的各种技术,从基础动画到响应式设计。实际项目中可根据需求组合使用这些技术,或考虑结合少量JavaScript增强交互性。







