纯CSS实现首尾相接的无限轮播效果

html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      *{
        margin: 0;
        padding: 0;
      }
      * {
        --w: 300;
        --s: 6;
        --speed: 2s;
      }
      .g-container {
        width: calc(var(--w) * 1px);
        overflow: hidden;
        border: 1px solid red;
      }
      ul {
        display: flex;
        flex-wrap: nowrap;
        animation: move calc(var(--speed) * var(--s)) steps(var(--s)) infinite;
        transition: 1s;
      }
      ul img {
        flex-shrink: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        animation: liMove calc(var(--speed)) infinite;
      }
      @keyframes move {
        0% {
          transform: translate(0, 0);
        }
        100% {
          transform: translate(calc(var(--s) * var(--w) * -1px), 0);
        }
      }
      @keyframes liMove {
        0% {
          transform: translate(0, 0);
        }
        80%,
        100% {
          transform: translate(calc(var(--w) * -1px), 0);
        }
      }
    </style>
  </head>

  <body>
    <div class="g-container">
      <ul>
        <img src="./1.png" alt="">
        <img src="./2.png" alt="">
        <img src="./3.png" alt="">
        <img src="./4.png" alt="">
        <img src="./5.png" alt="">
        <img src="./6.png" alt="">
        <img src="./1.png" alt="">
      </ul>
    </div>
  </body>
</html>
相关推荐
Dontla2 分钟前
流行的前端架构与后端架构介绍(Architecture)
前端·架构
muchan9210 分钟前
为什么“它”在业务逻辑上是最简单的?
前端·后端·面试
我是日安12 分钟前
从零到一打造 Vue3 响应式系统 Day 6 - 响应式核心:链表实装应用
前端·vue.js
艾小码12 分钟前
Vue模板进阶:这些隐藏技巧让你的开发效率翻倍!
前端·javascript·vue.js
浩浩kids15 分钟前
Web-birthday
前端
艾小码15 分钟前
还在手动加载全部组件?这招让Vue应用性能飙升200%!
前端·javascript·vue.js
方始终_16 分钟前
做一个图表MCP Server,分分钟的事儿?
前端·agent·mcp
yiyesushu16 分钟前
solidity front-ends(html+js+ethers v6)
前端
白袜队今年挖矿机16 分钟前
Spring事务基础概念
前端
三十_16 分钟前
【实录】多 SDK 日志乱象的解决方案:统一日志 SDK 设计分享
前端·javascript