好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CSS3实现列表无限滚动/轮播效果

效果预览

思路

将当前列表滚动至最后一项的末尾,然后瞬间切换回第一项

问题点

1.用什么方式实现无限轮播
这个问题就是列表滚动到最后时底部会留白(有多余空间)如何处理?
在 列表的最后 添加 列表开头的重复项 即可(如图中的10后面出现的1,2,3,4,5既为重复项)。
重复项添加的数目要根据当前列表的高度和列表项的高度一起确定,例如:
列表高度 150px ,列表项高度 30px ,则需要在当前列表尾部添加 150 / 30 = 5 项重复项才可以去除留白。

2.如何让用户无感知的切换回第一项
添加好重复项之后控制好切换时机,当列表滚动到最后一项的末尾(重复项第一项的开头)时,立即进行切换。例如:
列表项共 10 项,则让列表向上移动到 10 * 30px = 300px 时立即进行切换即可实现无感知切换

代码

<!DOCTY PE  ht ML >
<html lang="en">
<head>
    < ;m eta charset="UTF-8">
    <t IT le>列表无限滚动</title>
</head>
<style>
    .cont ai ner {
        position: relative;
        background-color:  # a4f fc c;
        /* 父容器需要有 明确 的高度 */
        h ei ght: 150px;
        width: 200px;
        m arg in: auto;
        overflow: hidden;
    }

    .container > .scroll-list {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        animation: scroll 6s linear infinite normal;
    }

    .container > .scroll-list > div {
        width: 100%;
        /* 滚动的项目需要有具体的高度 */
        height: 30px;
        background-color: #1ea7ff;
        dis play : flex;
        justify-content:  center ;
        align -i tems: center;
        color: white;
    }

    .container > .scroll-list > div:nth-child(2n) {
        background-color: #18d9f8;
    }

    @keyfr am es scroll {
        100% {
            /* 需要滚动内容的总高度 */
            top: -300px;
        }
    }
</style>
<body>
    <div class="container">
        <div class="scroll-list">
            <div>1</div>
            <div>2</div>
            <div>3</div>
            <div>4</div>
            <div>5</div>
            <div>6</div>
            <div>7</div>
            <div>8</div>
            <div>9</div>
            <div>10</div>
            <!-- 下面代码是为了让滚动内容能够多展示一屏(去除留白/无限轮播):数量请自行根据高度进行计算 -->
            <div>1</div>
            <div>2</div>
            <div>3</div>
            <div>4</div>
            <div>5</div>
        </div>
    </div>
</body>
</html>

到此这篇关于CSS3实现列表无限滚动/轮播的 文章 就介绍到这了,更多相关css3列表滚动轮播内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

总结

以上是 为你收集整理的 CSS3实现列表无限滚动/轮播效果 全部内容,希望文章能够帮你解决 CSS3实现列表无限滚动/轮播效果 所遇到的问题。

如果觉得 网站内容还不错, 推荐好友。

查看更多关于CSS3实现列表无限滚动/轮播效果的详细内容...

  阅读:21次