css如何实现一张图的轮播图
导读:CSS如何实现一张图的轮播图?要实现一张图的轮播图,我们可以借助CSS的transition和animation属性,还有JavaScript的setInterval( 方法来实现。接下来我们来一步步实现。// HTML<div cl...
CSS如何实现一张图的轮播图?要实现一张图的轮播图,我们可以借助CSS的transition和animation属性,还有JavaScript的setInterval()方法来实现。接下来我们来一步步实现。
// HTMLdiv class="slider"> img src="slider-img-1.jpg"> /div> // CSS.slider { position: relative; width: 800px; height: 400px; overflow: hidden; } .slider img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 1; transition: opacity 1s ease-in-out; } .slider img:not(:first-child) { opacity: 0; } .slider img:last-child { animation: slide 5s infinite; } @keyframes slide { 0% { transform: translateX(0%); } 20% { transform: translateX(-100%); } 40% { transform: translateX(-200%); } 60% { transform: translateX(-300%); } 80% { transform: translateX(-400%); } 100% { transform: translateX(-500%); } } // JavaScriptsetInterval(function() { var currentImg = document.querySelector('.slider img:not(:last-child)'); var nextImg = currentImg.nextElementSibling; currentImg.style.opacity = 0; nextImg.style.opacity = 1; } , 5000);
以上是一张图的轮播图的实现代码,我们来解释一下。
首先,我们在HTML中添加了一个包裹图片的div,并设置其宽高和overflow属性。在CSS中,我们将图片设置为绝对定位,每张图片的不透明度为1,且过渡效果为淡入淡出,而除了第一张图片外,其余图片的不透明度均为0。
然后,我们将最后一张图片设置为滑动动画,并在CSS中设置这个动画。最后,在JavaScript中使用setInterval()方法不断轮播图片,将当前图片的不透明度设置为0,将下一张图片的不透明度设置为1。
这样一张图的轮播图就实现了,根据图片的数量和尺寸不同,CSS的代码会有所不同,但实现的原理都是相似的。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: css如何实现一张图的轮播图
本文地址: https://pptw.com/jishu/557158.html