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和Checkbox实现JQuery的一些效果
Aug 03 HTML / CSS
巧用CSS3的calc()宽度计算做响应模式布局的方法
Mar 22 HTML / CSS
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
Dec 13 HTML / CSS
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
Jan 31 HTML / CSS
Canvas与Image互相转换示例代码
Aug 09 HTML / CSS
HTML5中drawImage用法分析
Dec 01 HTML / CSS
解析HTML5的存储功能和web SQL的相关操作方法
Feb 19 HTML / CSS
浅析border-radius如何兼容IE
Apr 19 HTML / CSS
Canvas中设置width与height的问题浅析
Nov 01 HTML / CSS
HTML5 3D书本翻页动画的实现示例
Aug 28 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
Dec 16 HTML / CSS
面试必问:圣杯布局和双飞翼布局的区别
May 13 HTML / CSS
HTML5页面音频自动播放的实现方式
Jun 21 #HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
CSS中Single Div 绘图技巧的实现
CSS几步实现赛博朋克2077风格视觉效果
教你做个可爱的css滑动导航条
Html5大屏数据可视化开发的实现
关于html选择框创建占位符的问题
Jun 09 #HTML / CSS
You might like
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
基于vue.js实现分页查询功能
2018/12/29 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
python连接字符串的方法小结
2015/07/13 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
tensorflow 重置/清除计算图的实现
2020/01/19 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
Python Pillow(PIL)库的用法详解
2020/09/19 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
护士实习求职信
2014/06/22 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
思想政治表现评语
2015/01/04 职场文书
有关三国演义的读书笔记
2015/06/25 职场文书
中学教师教学工作总结
2015/08/13 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python