html css轮播图代码有圆点
时间: 2024-12-24 10:10:23 浏览: 5
HTML和CSS结合可以创建一个基本的轮播图效果,通常会包含图片容器、图像本身以及用于导航的点(也称为指示器或按钮)。下面是一个简单的示例,展示如何使用纯CSS和HTML创建一个带圆点指示器的基本轮播图:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<style>
.carousel {
width: 500px;
overflow: hidden;
}
.slides {
display: flex;
transition: transform 0.6s ease;
}
.slide {
flex: 0 0 auto;
width: 100%;
height: 400px; /* 根据需要调整 */
background-size: cover;
position: relative;
}
.dot {
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #ccc;
position: absolute;
bottom: -20px;
left: calc(50% - 5px);
z-index: 1;
opacity: 0.7;
cursor: pointer;
}
.dot.active {
background-color: black;
opacity: 1;
}
</style>
</head>
<body>
<div class="carousel">
<div class="slides">
<div class="slide slide-1" style="background-2" style="background-image: url('image2.jpg');"></div>
<div class="slide slide-3" style="background-image: url('image3.jpg');"></div>
</div>
<div class="dots">
<button class="dot active dot-1" onclick="changeSlide(1)"></button>
<button class="dot dot-2" onclick="changeSlide(2)"></button>
<button class="dot dot-3" onclick="changeSlide(3)"></button>
</div>
</div>
<script>
function changeSlide(index) {
const slides = document.querySelectorAll('.slide');
slides.forEach(slide => slide.style.transform = 'translateX(-' + (index - 1) * 100% + '%)');
const dots = document.querySelectorAll('.dot');
dots.forEach(dot => dot.classList.remove('active'));
document.querySelector(`.dot-${index}`).classList.add('active');
}
</script>
</body>
</html>
```
这个例子中,`carousel`容器包含 `.slides` 和 `.dots` 两个部分。`.slides` 中的 `.slide` 通过 CSS 的 `transform: translateX` 动画切换,而 `.dots` 中的按钮点击时触发 JavaScript 函数 `changeSlide` 来改变当前显示的图片索引。
阅读全文