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 box-sizing属性使用参考指南
Jan 08 HTML / CSS
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
Aug 25 HTML / CSS
详解CSS3中的box-sizing(content-box与border-box)
Apr 19 HTML / CSS
html5调用摄像头功能的实现代码
May 07 HTML / CSS
浅谈cookie和localStorage那些事
Aug 27 HTML / CSS
input file上传文件样式支持html5的浏览器解决方案
Nov 14 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
Aug 26 HTML / CSS
HTML5 Notification(桌面提醒)功能使用实例
Mar 17 HTML / CSS
HTML5 source标签:媒介元素定义媒介资源
Jan 29 HTML / CSS
HTML5 manifest离线缓存的示例代码
Aug 08 HTML / CSS
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
Apr 07 HTML / CSS
html5给汉字加拼音加进度条的实现代码
Apr 07 HTML / CSS
HTML5页面音频自动播放的实现方式
Jun 21 #HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
CSS中Single Div 绘图技巧的实现
CSS几步实现赛博朋克2077风格视觉效果
教你做个可爱的css滑动导航条
Html5大屏数据可视化开发的实现
关于html选择框创建占位符的问题
Jun 09 #HTML / CSS
You might like
关于页面优化和伪静态
2009/10/11 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
Symfony2函数用法实例分析
2016/03/18 PHP
php实现用户登陆简单实例
2017/04/04 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
jquery ready函数源代码研究
2009/12/06 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
python正则分组的应用
2013/11/10 Python
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
python 中random模块的常用方法总结
2017/07/08 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
python各类经纬度转换的实例代码
2019/08/08 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
高中毕业自我鉴定
2013/12/13 职场文书
先进工作者获奖感言
2014/02/08 职场文书
竞选部门副经理的自荐书范文
2014/02/11 职场文书
名人演讲稿范文
2014/09/16 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
react 路由Link配置详解
2021/11/11 Javascript