<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML轮播图</title>
<style>
/* 设置轮播图容器样式 */
.carousel {
width: 600px;
height: 400px;
overflow: hidden;
position: relative;
margin: 0 auto;
}
/* 设置图片列表样式 */
.carousel-inner {
display: flex;
transition: transform 0.5s ease-in-out;
}
/* 设置每张图片样式 */
.carousel-item {
min-width: 100%;
height: 100%;
}
/* 设置左右箭头样式 */
.prev, .next {
cursor: pointer;
position: absolute;
top: 50%;
width: auto;
padding: 16px;
margin-top: -22px;
color: white;
font-weight: bold;
font-size: 18px;
transition: 0.6s ease;
border-radius: 0 3px 3px 0;
user-select: none;
}
.next {
right: 0;
border-radius: 3px 0 0 3px;
}
.prev:hover, .next:hover {
background-color: rgba(0, 0, 0, 0.8);
}
</style>
</head>
<body>
<div class="carousel">
<div class="carousel-inner" id="carouselInner">
<div class="carousel-item">
<img src="https://via.placeholder.com/600x400?text=Slide+1" alt="Slide 1">
</div>
<div class="carousel-item">
<img src="https://via.placeholder.com/600x400?text=Slide+2" alt="Slide 2">
</div>
<div class="carousel-item">
<img src="https://via.placeholder.com/600x400?text=Slide+3" alt="Slide 3">
</div>
</div>
<a class="prev" onclick="plusSlides(-1)">❮</a>
<a class="next" onclick="plusSlides(1)">❯</a>
</div>
<script>
let slideIndex = 0;
showSlides();
function plusSlides(n) {
showSlides(slideIndex += n);
}
function showSlides(n) {
const slides = document.querySelectorAll('.carousel-item');
if (n >= slides.length) { slideIndex = 0 }
if (n < 0) { slideIndex = slides.length - 1 }
slides.forEach((slide, index) => {
slide.style.transform = `translateX(${(index - slideIndex) * 100}%)`;
});
}
</script>
</body>
</html>
HTML部分:
.carousel
。.carousel-item
容器中,所有图片项都放在 .carousel-inner
容器内。CSS部分:
JavaScript部分:
showSlides
函数控制图片的显示和切换逻辑。plusSlides
函数用于根据用户点击的方向(左或右)更新当前显示的图片索引。transform
属性用于实现图片的平滑过渡效果。上一篇:html文件怎么创建
下一篇:html5的doctype
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站