如何实现一个流畅的滚动列表

news2024/9/21 13:09:55

如何实现一个流畅的滚动列表

在网页开发中,滚动列表是展示大量数据时常用的交互方式。通过结合CSS动画和视觉设计,我们可以让列表内容自动滚动,为用户提供顺畅的浏览体验。今天,我将带你一步步实现一个流畅、富有视觉吸引力的滚动列表。


一、效果预览

在这里插入图片描述

最终实现的滚动列表效果如下:列表内容在页面加载后自动滚动,当用户将鼠标悬停在列表上时,动画暂停,鼠标移开后继续滚动。整个滚动过程平滑自然,并且配以简洁时尚的配色。


二、实现步骤
1. 创建基本的HTML结构

首先,我们需要定义一个容器(listWrap),里面包含滚动的列表项(list)。每一项列表元素将通过 <div> 标签定义。

<div class="listWrap">
  <div class="list">
    <div>Item 1</div>
    <div>Item 2</div>
    <div>Item 3</div>
    <div>Item 4</div>
    <div>Item 5</div>
    <div>Item 6</div>
    <div>Item 7</div>
    <div>Item 8</div>
    <div>Item 9</div>
    <div>Item 10</div>
    <div>Item 11</div>
    <div>Item 12</div>
  </div>
</div>
2. 编写CSS样式

接下来,通过CSS定义列表的尺寸、位置,以及滚动动画。这里的关键是使用 @keyframes 来实现元素的平滑滚动。

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
body {
  font-family: Arial, sans-serif;
  background-color: #f0f0f0;
}
.listWrap {
  width: 600px;
  height: 200px;
  border-radius: 10px;
  border: 2px solid #ccc;
  overflow: hidden;
  margin: calc(50vh - 100px) auto;
  position: relative;
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
}
.listWrap:hover .list {
  animation-play-state: paused;
}
.list {
  position: absolute;
  transform: translateY(0); /* 确保初始时内容可见 */
  animation: scroll 12s linear infinite;
}
@keyframes scroll {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
.list div {
  height: 40px;
  line-height: 40px;
  margin: 0 10px;
  font-size: 18px;
  color: #333;
  background: linear-gradient(135deg, #73a5ff, #5477f5);
  color: white;
  text-align: center;
  border-radius: 5px;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
3. 样式说明
  • 列表容器 (listWrap):宽度设为 600px,高度为 200px,并应用圆角、阴影等样式来提升视觉美观。通过 overflow: hidden 隐藏超出的内容,确保列表在容器内滚动。
  • 滚动效果:通过 @keyframes 定义了 scroll 动画,列表从 translateY(0) 平滑滚动到 translateY(-100%),使列表项从上到下连续滚动。
  • 悬停暂停:在 listWrap:hover .list 中,使用 animation-play-state: paused;,当用户悬停在列表上时,动画暂停,离开时恢复滚动。

三、如何使用

你可以将上述代码直接嵌入你的HTML文件中,保存并运行后,即可看到滚动列表效果。如果你希望调整滚动速度,可以修改CSS中的动画时长(例如将 12s 调整为其他数值)。


四、总结

通过简单的HTML和CSS,我们实现了一个功能性强、视觉美观的滚动列表。无论是用于新闻展示、图片轮播,还是评论列表,这种滚动效果都能为你的网页增色不少。

你可以根据需要进一步优化,例如添加更多的视觉效果或将其改造成横向滚动。希望这个示例对你有所启发,助你在开发中更好地运用滚动效果。


如果你觉得这篇文章对你有帮助,记得 点赞收藏 支持一下!我是 Java全栈开发者,专注于分享实战经验和技术干货。

欢迎关注我的公众号 “Java全栈之旅”,定期推送 全栈技术分享面试题精解 以及趣味 小游戏Demo,让你轻松掌握前沿技术,快速进阶!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2152405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL中的LIMIT与ORDER BY关键字详解

前言 众所周知&#xff0c;LIMIT和ORDER BY在数据库中&#xff0c;是两个非常关键并且经常一起使用的SQL语句部分&#xff0c;它们在数据处理和分页展示方面发挥着重要作用。 今天就结合工作中遇到的实际问题&#xff0c;回顾一下这块的知识点。同时希望这篇文章可以帮助到正…

[备忘]测算.net中对象所占用的内存

.net 基础库中应该是没有直接提供计算某个对象所占内存的方法。简单查了下&#xff0c;找到几种方式&#xff1a; 1、运行态用工具进行内存分析 比如&#xff0c;微软这篇教程中有介绍。《使用 .NET 对象分配工具分析内存使用情况》https://learn.microsoft.com/zh-cn/visuals…

Tomcat CVE-2017-12615漏洞复现

1.开启环境 cd /vulhub/tomcat/CVE-2017-12615 docker-compose up -d 一键启动环境 2.在首页进行抓包 修改为put方式提交 Tomcat允许适用put方法上传任意文件类型&#xff0c;但不允许jsp后缀文件上传&#xff0c;因此我们需要配合 windows的解析漏洞. 使用put /shell.jsp…

着色器ShaderMask

说明 实现一个渐变进度条&#xff0c;要求&#xff1a; 颜色渐变的过程是循序渐进的&#xff0c;而不是看起来像是将渐变条逐渐拉长了。 效果 源码 // 渐变进度条Stack(children: [// 背景色板Container(width: 300,height: 8,decoration: BoxDecoration(borderRadius: Bord…

【华为杯】2024华为杯数模研赛E题 解题思路

题目 高速公路应急车道紧急启用模型 问题背景 高速公路拥堵现象的原因众多&#xff0c;除了交通事故外&#xff0c;最典型的就是部分路段出现瓶颈现象&#xff0c;主要原因是车辆汇聚&#xff0c;而拥堵后又容易蔓延。高速公路一些特定的路段容易形成堵点&#xff0c;如匝道…

(done) 什么是 GMM? Gaussian Mixture Model,高斯混合模型

来源&#xff1a;https://www.bilibili.com/video/BV13b411w7Xj/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 &#xff08;视频质量很高&#xff0c;一共四个视频&#xff0c;我只看了一个&#xff09; 直接看视频吧&#xff0…

Qt (17)【Qt 文件操作 读写保存】

阅读导航 引言一、Qt文件概述二、输入输出设备类三、文件读写类四、文件和目录信息类五、自定义“记事本” 引言 在上一篇文章中&#xff0c;我们学习了Qt的事件处理机制&#xff0c;知道了如何响应用户的操作。但应用程序常常还需要处理文件&#xff0c;比如读写数据。所以&a…

国内可以使用的ChatGPT服务【9月持续更新】

首先基础知识还是要介绍得~ 一、模型知识&#xff1a; GPT-4o&#xff1a;最新的版本模型&#xff0c;支持视觉等多模态&#xff0c;OpenAI 文档中已经更新了 GPT-4o 的介绍&#xff1a;128k 上下文&#xff0c;训练截止 2023 年 10 月&#xff08;作为对比&#xff0c;GPT-4…

整流电路的有源逆变工作状态

目录 1. 逆变的概念 2. 有源逆变的条件 3. 电流电路的概念 4. 产生逆变的条件 5. 三相桥式全控整流电路的有源逆变工作状态 6. 逆变角的概念 7. 逆变失败的原因 8. 最小逆变角的限制 整流电路的有源逆变状态是指通过控制整流器&#xff0c;使其将直流电源的能量反向送回…

yolo自动化项目实例解析(四)ui页面整理1 (1.85)

我们在上一章整理main.py 的if __name__ __main__: 内容还留下面这一段&#xff0c; from PyQt5.QtWidgets import *from lanrenauto.moni.moni import *from PyQt5.QtGui import *app QApplication(sys.argv) # 初始化Qt应用ratio screen_width / 2560 # 分辨率比例# 设…

python库tenacity最后一次重试忽略异常,并返回None

from tenacity import retry, stop_after_attemptretry(stopstop_after_attempt(3), retry_error_callbacklambda x:None) def my_function():print(retry...)print(1/0)result my_function() print(result)效果如下

【CPU】CPU的物理核、逻辑核、超线程判断及L1、L2、L3缓存、CacheLine和CPU的TBL说明

CPU物理核及L1、L2、L3及缓存 CPU缓存 CPU 缓存是一种用于存储临时数据以提高计算机程序性能的内存层次结构。它通常分为三个层次&#xff1a;L1&#xff08;一级&#xff09;、L2&#xff08;二级&#xff09;和L3&#xff08;三级&#xff09;缓存。缓存大小是CPU的重…

数据结构之算法复杂度

目录 前言 一、复杂度的概念 二、时间复杂度 三、大O的渐进表示法 四、空间复杂度 五、常见复杂度对比 总结 前言 本文主要讲述数据结构中的算法复杂度 一、复杂度的概念 算法在编写成可执行程序后&#xff0c;运行时需要耗费时间资源和空间(内存)资源。因此衡量一个算法的好坏…

【Node】如何关闭node被占用的端口

现象&#xff1a; 服务端口被占用Error: listen EADDRINUSE: address already in use :::10088 解决办法&#xff1a; 解决的思路就是把对应10088端口运行的程序给杀死。 1.去cmd输入 cd c:\Windows\System322.可以查看所有端口获取PID netstat -ano3.也可以用端口准确定位…

linux如何对c++进行内存分析

linux如何对c进行内存分析 背景分析方法以及原理原理分析结果以及重点关注 背景 在工作中&#xff0c;我遇到一个问题&#xff0c;需要将c写的进程部署到MCU上。由于MCU上可用的RAM 非常有限&#xff0c;所以在部署时就需要考虑到使用内存大小。所以为了搞清楚&#xff0c;内存…

大模型Qwen2.5 家族的最新成员

阿里今天发布了 Qwen 家族的最新成员&#xff1a;Qwen2.5&#xff0c;包括语言模型 Qwen2.5&#xff0c;以及专门针对编程的 Qwen2.5-Coder 和数学的 Qwen2.5-Math 模型。 所有开放权重的模型都是稠密的、decoder-only 的语言模型&#xff0c;提供多种不同规模的版本&#xff…

vue3+Element-plus el-input 输入框组件二次封装(支持金额、整数、电话、小数、身份证、小数点位数控制,金额显示中文提示等功能)

一、效果图 二、组件集成了以下功能 1、输入金额--支持千分号显示、可设置decimalLimit来调整小数点位数 2、金额鼠标移入提示中文--标签添加isTip开启中文提示则不允许开启千分号显示showThousands 3、输入手机号--设置inputTypephone 4、输入整数---设置inputTypeinteger 5、…

14.1.2-float浮动练习

文章目录 1. 目标2. 实现 1. 目标 只通过float来做下面的布局&#xff08;不使用flex&#xff09;。 2. 实现 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widt…

Autosar Dcm开发-诊断2E或31服务实现pending功能

文章目录 前言Dcm规范功能实现总结前言 项目开发过程中,有需求在31服务(Routine)收到请求时,等待应用层反馈执行完后再进行响应。所以pending一段时间,本文介绍该功能的实现。 Dcm规范 以Routine为例,其服务包含以下返回状态 0:E_OK,服务成功执行 1:E_NOT_OK,服务…

【大屏方案】可视化综合展示系统解决方案(Word原件2024)

2.系统架构设计 2.1.系统架构图 2.2.关键技术 2.3.接口及要求 3.系统功能设计 3.1.功能清单列表 3.2.数据源管理 3.3.数据集管理 3.4.视图管理 3.5.仪表盘管理 3.6.移动端设计 3.1.系统权限设计 3.2.数据查询过程设计 软件资料清单列表部分文档清单&#xff1a;工作安排任务书&…