首页前端开发CSScss如何实现一张图的轮播图

css如何实现一张图的轮播图

时间2023-11-27 05:55:03发布访客分类CSS浏览524
导读: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
css如何实现上下滑动的效果 css如何实现img和文字绑定

游客 回复需填写必要信息