css在轮播图片上加导航栏
导读:CSS是前端开发中必不可少的技术之一,它可以让网页元素呈现出美观、统一的风格。在轮播图片上加导航栏也是常见的功能之一,下面我将给大家介绍如何实现。首先看一下HTML代码的结构,我们通常会用一个div包含所有的图片,然后再用一个div包含导航...
CSS是前端开发中必不可少的技术之一,它可以让网页元素呈现出美观、统一的风格。在轮播图片上加导航栏也是常见的功能之一,下面我将给大家介绍如何实现。首先看一下HTML代码的结构,我们通常会用一个div包含所有的图片,然后再用一个div包含导航栏。代码如下:
div class="slider">
img src="1.jpg">
img src="2.jpg">
img src="3.jpg">
/div>
div class="nav">
span class="active">
/span>
span>
/span>
span>
/span>
/div>
接下来就是CSS代码的实现了。首先我们要定义slider的样式,这里用的是绝对定位,让图片叠在一起形成轮播效果。同时要注意设置轮播图片的宽度和高度,以保证轮播效果正常。代码如下:
.slider {
position: relative;
width: 500px;
height: 300px;
overflow: hidden;
}
.slider img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity .5s ease-in-out;
}
.slider img.active {
opacity: 1;
}
接下来是导航栏的样式,这里我们用三个span标签作为导航栏的按钮,同时给第一个按钮加上active类名,表示默认选中第一个。同时通过绝对定位来使导航栏居中。代码如下:
.nav {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
}
.nav span {
display: inline-block;
width: 10px;
height: 10px;
margin-right: 10px;
border-radius: 50%;
background-color: #fff;
cursor: pointer;
}
.nav span.active {
background-color: #000;
}
最后是JavaScript代码的实现,我们需要监听导航栏的点击事件,并将active类名分别加在轮播图片和对应的导航栏按钮上。同时还需要用setInterval函数实现自动播放功能。代码如下:
let slider = document.querySelector('.slider');
let nav = document.querySelector('.nav');
let spans = nav.querySelectorAll('span');
let index = 0;
setInterval(function() {
index++;
if (index === spans.length) {
index = 0;
}
changeImage(index);
}
, 2000);
function changeImage(number) {
let currentImage = slider.querySelector('.active');
let currentSpan = nav.querySelector('.active');
currentImage.classList.remove('active');
currentSpan.classList.remove('active');
slider.querySelectorAll('img')[number].classList.add('active');
spans[number].classList.add('active');
}
for (let i = 0;
i spans.length;
i++) {
spans[i].addEventListener('click', function() {
index = i;
changeImage(index);
}
);
}
通过这些CSS和JavaScript代码的实现,我们就可以轻松地在轮播图片上添加导航栏了。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: css在轮播图片上加导航栏
本文地址: https://pptw.com/jishu/568659.html
