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


Posted in HTML / CSS onJune 23, 2021

效果预览

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

思路

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

问题点

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

HTML / CSS 相关文章推荐
使用css3绘制出各种几何图形
Aug 17 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
Mar 18 HTML / CSS
CSS3中几个新增加的盒模型属性使用教程
Mar 01 HTML / CSS
CSS3中伪元素::before和::after的用法示例
Sep 18 HTML / CSS
详解CSS3弹性伸缩盒
Sep 21 HTML / CSS
CSS3实现菜单悬停效果
Nov 17 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
Apr 18 HTML / CSS
socket.io 和canvas 实现的共享画板功能
May 22 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(一)
Jan 21 HTML / CSS
HTML5 Notification(桌面提醒)功能使用实例
Mar 17 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
Nov 02 HTML / CSS
html5 横向滑动导航栏的方法示例
May 08 HTML / CSS
HTML5页面音频自动播放的实现方式
Jun 21 #HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
CSS中Single Div 绘图技巧的实现
CSS几步实现赛博朋克2077风格视觉效果
教你做个可爱的css滑动导航条
Html5大屏数据可视化开发的实现
关于html选择框创建占位符的问题
Jun 09 #HTML / CSS
You might like
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
详细介绍Python函数中的默认参数
2015/03/30 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
python处理html转义字符的方法详解
2016/07/01 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
Farnell德国:电子元器件供应商
2018/07/10 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
财务管理个人自荐书范文
2013/11/24 职场文书
日语专业毕业生求职信
2013/12/04 职场文书
高三英语教学反思
2014/01/13 职场文书
教师档案管理制度
2014/01/23 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
创业计划书之溜冰场
2019/10/25 职场文书