前端css走马灯式图片轮播

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Continuous Carousel</title>
  <style>
    body {
      margin: 0;
      overflow: hidden;
    }

    #carousel-container {
      white-space: nowrap;
      overflow: hidden;
      position: relative;
    }

    .carousel-item {
      display: inline-block;
      margin-right: 5vw; /* 图片间隔,使用vw单位,可根据需要调整 */
    }

    .carousel-inner {
      display: inline-block;
      white-space: nowrap;
      animation: marquee 20s linear infinite; /* 调整滚动速度,例如20s */
    }

    @keyframes marquee {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(-100%); /* 从左向右滚动 */
      }
    }
  </style>
</head>
<body>
  <div id="carousel-container">
    <div class="carousel-inner" id="sequence-1"></div>
    <div class="carousel-inner" id="sequence-2"></div>
  </div>

  <script>
    document.addEventListener('DOMContentLoaded', () => {
      const container = document.getElementById('carousel-container');
      const sequence1 = document.getElementById('sequence-1');
      const sequence2 = document.getElementById('sequence-2');

      // 创建图片序列
      const createImageSequence = (target) => {
        for (let i = 1; i <= 7; i++) {
          const item = document.createElement('div');
          item.classList.add('carousel-item');
          const img = document.createElement('img');
          img.src = `image${i}.jpg`;
          img.alt = `Image ${i}`;
          item.appendChild(img);
          target.appendChild(item);
        }
      };

      // 插入两个图片序列
      createImageSequence(sequence1);
      createImageSequence(sequence2);

      // Optional: 调整滚动速度
      const duration = 20; // in seconds
      container.style.animationDuration = `${duration}s`;
    });
  </script>
</body>
</html>
相关推荐
BY组态3 分钟前
Ricon组态系统最佳实践:从零开始构建物联网监控平台
前端·物联网·iot·web组态·组态
BY组态7 分钟前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·物联网·iot·web组态·组态
SoaringHeart9 分钟前
Flutter进阶:OverlayEntry 插入图层管理器 NOverlayZIndexManager
前端·flutter
放下华子我只抽RuiKe519 分钟前
React 从入门到生产(四):自定义 Hook
前端·javascript·人工智能·深度学习·react.js·自然语言处理·前端框架
IT_陈寒2 小时前
Redis缓存击穿把我整不会了,原来还有这手操作
前端·人工智能·后端
idcu2 小时前
深入 Lyt.js 组件系统:L2 渲染引擎层的核心
前端·typescript
这是程序猿3 小时前
Spring Boot自动配置详解
java·大数据·前端
文心快码BaiduComate3 小时前
干货|Comate Harness Engineering工程实践指南
前端·后端·程序员
还有多久拿退休金3 小时前
一张栈的图,治好你面试答不出 script 阻塞的病
前端·javascript
光辉GuangHui3 小时前
Agent Skill 也需要测试:如何搭建 Skill 评估框架
前端·后端·llm