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 透明色 RGBA使用介绍
Aug 06 HTML / CSS
使用CSS3配合IE滤镜实现渐变和投影的效果
Sep 06 HTML / CSS
css 元素选择器的简单实例
May 23 HTML / CSS
CSS3实现多重边框的方法总结
May 31 HTML / CSS
CSS3 不定高宽垂直水平居中的几种方式
Mar 26 HTML / CSS
html5指南-2.如何操作document metadata
Jan 07 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
Jul 19 HTML / CSS
HTML5新增的表单元素和属性实例解析
Jul 07 HTML / CSS
mui几种页面跳转方式对比总结概括
Aug 18 HTML / CSS
HTML5 新表单类型示例代码
Mar 20 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
Aug 19 HTML / CSS
AmazeUI 按钮交互的实现示例
Aug 24 HTML / CSS
HTML5页面音频自动播放的实现方式
Jun 21 #HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
CSS中Single Div 绘图技巧的实现
CSS几步实现赛博朋克2077风格视觉效果
教你做个可爱的css滑动导航条
Html5大屏数据可视化开发的实现
关于html选择框创建占位符的问题
Jun 09 #HTML / CSS
You might like
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
JavaScript加密解密7种方法总结分析
2007/10/07 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
JS实现数组删除指定元素功能示例
2019/06/05 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
Python里disconnect UDP套接字的方法
2015/04/23 Python
Python 实现链表实例代码
2017/04/07 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
Python中return self的用法详解
2018/07/27 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
汽车运用工程毕业生自荐信
2013/10/29 职场文书
公司活动邀请函
2014/01/24 职场文书
《曹刿论战》教学反思
2014/03/02 职场文书
社会公德演讲稿
2014/05/20 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
2014年精神文明工作总结
2014/12/23 职场文书
职称评定个人总结
2015/03/05 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书