加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

CSS3列表无限滚动的效果达成代码是什么

发布时间:2023-08-16 12:48:58 所属栏目:语言 来源:
导读:这篇文章主要介绍“CSS3列表无限滚动的效果实现代码是什么”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS3列表无限滚动的效果实现代码是什么&rdqu

这篇文章主要介绍“CSS3列表无限滚动的效果实现代码是什么”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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列表无限滚动的效果实现代码是什么"的内容,大家可以关注其它相关文章。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章