Skip to the content.

CSS3 无缝滚动

最简单的 Demo

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>css3无缝滚动</title>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      /*看得到的地方只有500px*/
      .wrap {
        overflow: hidden;
        width: 500px;
        height: 100px;
        border: 1px solid #000;
        margin: 50px auto;
      }
      .list {
        position: relative;
        top: 0px;
        left: 0px;
        width: 200%;
        height: 100%;
        border: 1px solid #f00;
        list-style: none;
        animation: mymove 5s infinite linear;
      }
      .list li {
        width: 98px;
        height: 98px;
        border: 1px solid white;
        background: blue;
        float: left;
        vertical-align: middle;
        text-align: center;
        line-height: 98px;
        color: white;
        font-weight: 600;
      }
      @-webkit-keyframes mymove {
        from {
          left: 0px;
        }
        to {
          left: -500px;
        }
      }
    </style>
  </head>
  <body>
    <div class="wrap">
      <ul class="list">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
      </ul>
    </div>

    <script></script>
  </body>
</html>

原理

进阶修改 - 横向

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <link rel="stylesheet" type="text/css" href="css/style.css" />
  </head>
  <body>
    <div class="main">
      <div class="left">
        <div class="wrap">
          <div class="list">
            <div><img src="./img/COS/148001301.jpg" /></div>
            <div><img src="./img/COS/24001301.jpg" /></div>
            <div><img src="./img/COS/64001201.jpg" /></div>
            <div><img src="./img/COS/88001301.jpg" /></div>
            <div><img src="./img/COS/94001101.jpg" /></div>
            <div><img src="./img/COS/94001301.jpg" /></div>
            <div><img src="./img/COS/94001305.jpg" /></div>
            <div><img src="./img/COS/148001301.jpg" /></div>
            <div><img src="./img/COS/24001301.jpg" /></div>
            <div><img src="./img/COS/64001201.jpg" /></div>

            <div><img src="./img/COS/148001301.jpg" /></div>
            <div><img src="./img/COS/24001301.jpg" /></div>
            <div><img src="./img/COS/64001201.jpg" /></div>
            <div><img src="./img/COS/88001301.jpg" /></div>
            <div><img src="./img/COS/94001101.jpg" /></div>
            <div><img src="./img/COS/94001301.jpg" /></div>
            <div><img src="./img/COS/94001305.jpg" /></div>
            <div><img src="./img/COS/148001301.jpg" /></div>
            <div><img src="./img/COS/24001301.jpg" /></div>
            <div><img src="./img/COS/64001201.jpg" /></div>
          </div>
        </div>
        <div class="wrap">
          <div class="list1">
            <div><img src="./img/COS/148001301.jpg" /></div>
            <div><img src="./img/COS/24001301.jpg" /></div>
            <div><img src="./img/COS/64001201.jpg" /></div>
            <div><img src="./img/COS/88001301.jpg" /></div>
            <div><img src="./img/COS/94001101.jpg" /></div>
            <div><img src="./img/COS/94001301.jpg" /></div>
            <div><img src="./img/COS/94001305.jpg" /></div>
            <div><img src="./img/COS/148001301.jpg" /></div>
            <div><img src="./img/COS/24001301.jpg" /></div>
            <div><img src="./img/COS/64001201.jpg" /></div>

            <div><img src="./img/COS/148001301.jpg" /></div>
            <div><img src="./img/COS/24001301.jpg" /></div>
            <div><img src="./img/COS/64001201.jpg" /></div>
            <div><img src="./img/COS/88001301.jpg" /></div>
            <div><img src="./img/COS/94001101.jpg" /></div>
            <div><img src="./img/COS/94001301.jpg" /></div>
            <div><img src="./img/COS/94001305.jpg" /></div>
            <div><img src="./img/COS/148001301.jpg" /></div>
            <div><img src="./img/COS/24001301.jpg" /></div>
            <div><img src="./img/COS/64001201.jpg" /></div>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>
* {
  padding: 0px;
  margin: 0px;
}

body {
  overflow: hidden;
  background-color: #eeeeee;
}

.main {
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

.left {
  width: 534px;
  //opacity: 0.8;
}

.wrap {
  overflow: hidden;
  width: 254px;
  height: 100vh;
  border: 0px solid #000;
  display: inline-block;
  margin-left: 10px;
}

.list {
  position: relative;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  border: 0px solid #f00;
  list-style: none;
  animation: mymove 50s infinite linear;
}

.list div img {
  width: 100%;
  height: 100%;
  border: 1px solid red;
  object-fit: cover;
}

.list1 {
  position: relative;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  border: 0px solid #f00;
  list-style: none;
  animation: mymoveBottom 50s infinite linear;
}

.list1 div img {
  width: 100%;
  height: 100%;
  border: 1px solid red;
  object-fit: cover;
}

.list div img {
  width: 254px;
  height: 470px;
}

.list div {
  width: 254px;
  height: 470px;
  border: 0px solid white;
  overflow: hidden;
  margin-bottom: 10px;
}

.list1 div img {
  width: 100%;
  height: 100%;
}

.list1 div {
  width: 254px;
  height: 470px;
  border: 0px solid white;
  overflow: hidden;
  margin-bottom: 10px;
}

@-webkit-keyframes mymove {
  from {
    top: 0px;
  }

  to {
    /* top: -2370px; */
    top: -4800px;
  }
}

@-webkit-keyframes mymoveBottom {
  from {
    /* bottom: 2365px; */
    bottom: 4800px;
  }

  to {
    bottom: 0px;
  }
}