<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>轮播图示例</title>
<style>
/* 设置轮播图容器样式 */
.carousel {
width: 600px;
height: 400px;
position: relative;
overflow: hidden;
}
/* 设置图片列表样式 */
.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 = 1;
showSlides(slideIndex);
function plusSlides(n) {
showSlides(slideIndex += n);
}
function showSlides(n) {
const slides = document.querySelectorAll('.carousel-item');
if (n > slides.length) { slideIndex = 1 }
if (n < 1) { slideIndex = slides.length }
slides.forEach((slide, index) => {
slide.style.transform = `translateX(${(index - (slideIndex - 1)) * 100}%)`;
});
}
</script>
</body>
</html>
HTML结构:
<div>
标签创建一个轮播图容器.carousel
,并在其中包含一个内部容器.carousel-inner
,用于容纳所有轮播项.carousel-item
。<img>
标签展示。CSS样式:
.carousel
设置为固定宽度和高度,并使用overflow: hidden
隐藏超出部分的内容。.carousel-inner
使用display: flex
将所有轮播项排列成一行,并添加过渡效果以实现平滑切换。.carousel-item
设置为最小宽度100%,确保每张图片占满整个轮播图容器。.prev
和.next
),并设置样式和鼠标悬停效果。JavaScript逻辑:
slideIndex
变量来跟踪当前显示的轮播项。showSlides
函数根据slideIndex
调整每个轮播项的位置,通过transform: translateX
实现水平移动。plusSlides
函数用于点击导航按钮时更新slideIndex
并调用showSlides
更新显示内容。上一篇:html 分割线
下一篇:html字体颜色
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站