当前位置: 代码网 > it编程>网页制作>Css > CSS3实现列表无限滚动/轮播效果

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

2021年06月22日 Css 我要评论
CSS3实现列表无限滚动/轮播效果本文给大家分享CSS3实现列表无限滚动/轮播效果,实现思路大概是将当前列表滚动至最后一项的末尾,然后瞬间切换回第一项,怎么实现无限轮播效果,下面小编给大家带来了实现思路,感兴... 21-06-22

效果预览

效果预览

思路

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

问题点

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

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

代码

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>列表无限滚动</title>
</head>
<style>
    .container {
        position: relative;
        background-color: #a4ffcc;
        /* 父容器需要有明确的高度 */
        height: 150px;
        width: 200px;
        margin: 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;
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
    }

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

    @keyframes 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列表滚动轮播内容请搜索代码网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持代码网!

(0)

相关文章:

  • 详解css3中transition属性

    详解css3中transition属性css3中通过transition属性可以实现一些简单的动画过渡效果,今天通过本文给大家介绍下css3中transition属性的示例代码,…

    2022年02月18日 网页制作
  • 六种css3实现的边框过渡效果

    六种css3实现的边框过渡效果

    六种css3实现的边框过渡效果这篇文章主要介绍了六种css3实现的边框过渡效果,帮助大家更好的理解和学习使用CSS3,感兴趣的朋友可以了解下... 21-04... [阅读全文]
  • css3新特性的应用示例分析

    css3新特性的应用示例分析这篇文章主要为大家介绍了css3新特性的应用示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪... 22-03-14…

    2022年03月14日 网页制作
  • CSS3 实现的动态星空背景

    CSS3 实现的动态星空背景

    CSS3 实现的动态星空背景这篇文章主要介绍了CSS3 实现的动态星空背景的示例代码,帮助大家更好的理解和学习制作CSS3特效,感兴趣的朋友可以了解下... ... [阅读全文]
  • css动画模拟太阳地球月球运动轨迹示例

    css动画模拟太阳地球月球运动轨迹示例

    css动画模拟太阳地球月球运动轨迹示例这篇文章主要介绍了css动画模拟太阳地球月球运动轨迹示例,调整旋转中心有点困难,大家可以多尝试,先实现动画效果,看动画效... [阅读全文]
  • 基于CSS3画一个iPhone

    基于CSS3画一个iPhone

    基于CSS3画一个iPhone这篇文章主要介绍了基于CSS3画一个iPhone的示例代码,帮助大家更好的理解和学习使用CSS3,感兴趣的朋友可以了解下... ... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com