css焦点图制作
制作CSS焦点图的方法
基础HTML结构
使用一个容器包裹图片列表和导航按钮,通常用无序列表实现图片轮播项:
<div class="slideshow">
<ul class="slides">
<li><img src="image1.jpg"></li>
<li><img src="image2.jpg"></li>
<li><img src="image3.jpg"></li>
</ul>
<div class="controls">
<a href="#" class="prev">❮</a>
<a href="#" class="next">❯</a>
</div>
<div class="dots">
<span class="dot" data-index="0"></span>
<span class="dot" data-index="1"></span>
<span class="dot" data-index="2"></span>
</div>
</div>
核心CSS样式
通过绝对定位和过渡效果实现平滑切换:
.slideshow {
position: relative;
width: 800px;
height: 400px;
overflow: hidden;
}
.slides {
display: flex;
width: 300%;
transition: transform 0.5s ease;
}
.slides li {
width: 33.33%;
list-style: none;
}
.controls {
position: absolute;
top: 50%;
width: 100%;
}
.prev, .next {
position: absolute;
cursor: pointer;
color: white;
padding: 16px;
font-size: 24px;
}
.next { right: 0; }
.dots {
position: absolute;
bottom: 20px;
width: 100%;
text-align: center;
}
.dot {
display: inline-block;
width: 12px;
height: 12px;
margin: 0 5px;
border-radius: 50%;
background: rgba(255,255,255,0.5);
cursor: pointer;
}
.dot.active { background: white; }
纯CSS自动轮播方案
利用CSS动画实现无需JavaScript的自动播放:
@keyframes slide {
0%, 30% { transform: translateX(0); }
33%, 63% { transform: translateX(-33.33%); }
66%, 97% { transform: translateX(-66.66%); }
}
.slides {
animation: slide 9s infinite;
}
响应式设计调整
针对不同屏幕尺寸适配:
@media (max-width: 768px) {
.slideshow {
width: 100%;
height: 200px;
}
.prev, .next {
font-size: 16px;
padding: 8px;
}
}
增强视觉效果
添加过渡效果和悬停状态:
.slides img {
transition: opacity 0.5s;
}
.slides img:hover {
opacity: 0.9;
}
.controls a {
transition: background 0.3s;
}
.controls a:hover {
background: rgba(0,0,0,0.3);
}
注意事项
- 确保图片尺寸统一
- 移动端需添加触摸事件支持
- 考虑禁用JavaScript时的降级方案
- 对关键图片添加alt文本提高可访问性







