经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS3 » 查看文章
CSS3实现列表无限滚动/轮播效果_css3_CSS
来源:jb51  时间:2021/6/28 9:10:08  对本文有异议

效果预览

效果预览

思路

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

问题点

1.用什么方式实现无限轮播
这个问题就是列表滚动到最后时底部会留白(有多余空间)如何处理?
列表的最后添加列表开头的重复项即可(如图中的10后面出现的1,2,3,4,5既为重复项)。
重复项添加的数目要根据当前列表的高度和列表项的高度一起确定,例如:
列表高度150px,列表项高度30px,则需要在当前列表尾部添加150 / 30 = 5项重复项才可以去除留白。

2.如何让用户无感知的切换回第一项
添加好重复项之后控制好切换时机,当列表滚动到最后一项的末尾(重复项第一项的开头)时,立即进行切换。例如:
列表项共10项,则让列表向上移动到10 * 30px = 300px时立即进行切换即可实现无感知切换

代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>列表无限滚动</title>
  6. </head>
  7. <style>
  8. .container {
  9. position: relative;
  10. background-color: #a4ffcc;
  11. /* 父容器需要有明确的高度 */
  12. height: 150px;
  13. width: 200px;
  14. margin: auto;
  15. overflow: hidden;
  16. }
  17.  
  18. .container > .scroll-list {
  19. position: absolute;
  20. top: 0;
  21. left: 0;
  22. width: 100%;
  23. animation: scroll 6s linear infinite normal;
  24. }
  25.  
  26. .container > .scroll-list > div {
  27. width: 100%;
  28. /* 滚动的项目需要有具体的高度 */
  29. height: 30px;
  30. background-color: #1ea7ff;
  31. display: flex;
  32. justify-content: center;
  33. align-items: center;
  34. color: white;
  35. }
  36.  
  37. .container > .scroll-list > div:nth-child(2n) {
  38. background-color: #18d9f8;
  39. }
  40.  
  41. @keyframes scroll {
  42. 100% {
  43. /* 需要滚动内容的总高度 */
  44. top: -300px;
  45. }
  46. }
  47. </style>
  48. <body>
  49. <div class="container">
  50. <div class="scroll-list">
  51. <div>1</div>
  52. <div>2</div>
  53. <div>3</div>
  54. <div>4</div>
  55. <div>5</div>
  56. <div>6</div>
  57. <div>7</div>
  58. <div>8</div>
  59. <div>9</div>
  60. <div>10</div>
  61. <!-- 下面代码是为了让滚动内容能够多展示一屏(去除留白/无限轮播):数量请自行根据高度进行计算 -->
  62. <div>1</div>
  63. <div>2</div>
  64. <div>3</div>
  65. <div>4</div>
  66. <div>5</div>
  67. </div>
  68. </div>
  69. </body>
  70. </html>

到此这篇关于CSS3实现列表无限滚动/轮播的文章就介绍到这了,更多相关css3列表滚动轮播内容请搜索w3xue以前的文章或继续浏览下面的相关文章,希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号