新闻中心

如何在CSS中实现卡片滚动动画_通过CSS animation和transform translateY实现卡片滚动效果

2025-11-25
浏览次数:
返回列表
使用CSS的animation与transform: translateY可实现卡片自动上下滚动。首先构建包含多个.card的.card-container容器,设置固定高度并隐藏溢出;通过@keyframes定义从translateY(0)到translateY(-100%)的动画,使内容线性向上移动;为实现无缝滚动,可复制一份卡片内容,并将动画终点改为translateY(-50%),形成视觉连贯循环;结合infinite属性让动画持续播放,适用于公告栏、排行榜等场景,无需J*aScript即可完成流畅滚动效果。

如何在css中实现卡片滚动动画_通过css animation和transform translatey实现卡片滚动效果

想让一组卡片自动上下滚动展示内容?用CSS的animationtransform: translateY就能轻松实现,无需J*aScript。关键在于设置一个持续位移动画,让卡片容器平滑地向上或向下“流动”。

基本结构:HTML布局

先搭建简单的HTML结构。用一个外层容器包裹所有卡片,确保溢出隐藏,内部卡片垂直排列:

<div class="card-container">
  <div class="card">卡片1</div>
  <div class="card">卡片2</div>
  <div class="card">卡片3</div>
  <div class="card">卡片4</div>
  <div class="card">卡片5</div>
</div>

CSS样式与动画定义

通过CSS设置容器为固定高度并隐藏溢出,使用@keyframes定义从0到负Y位移的动画,使内容向上滚动:

关键点: 动画的fromtranslateY(0)totranslateY(-100%),表示整体上移一个容器高度。

语鲸 语鲸

AI智能阅读辅助工具

语鲸 314 查看详情 语鲸
.card-container {
  height: 200px;
  overflow: hidden;
  position: relative;
}

.card {
  height: 100px;
  margin: 10px 0;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.card-container {
  animation: scrollCards 6s linear infinite;
}

@keyframes scrollCards {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}

优化滚动流畅性

如果卡片数量少,滚动可能不连贯。解决方法是复制一份卡片内容,形成无缝循环效果:

  • 在HTML中重复卡片列表
  • 调整动画时长匹配总高度移动时间
  • 可加入ease-in-out让启停更自然(若非无限播放)

例如,双倍卡片内容后,动画to改为translateY(-50%),刚好滚动到第二组开头,视觉上更顺滑。

基本上就这些。掌握animation结合transform: translateY的用法,就能做出简洁高效的卡片滚动效果,适合公告栏、排行榜等场景。

以上就是如何在CSS中实现卡片滚动动画_通过CSS animation和transform translateY实现卡片滚动效果的详细内容,更多请关注其它相关文章!


# 多个  # 济宁网站建设入门到精通  # 安徽靠谱软文营销推广  # 视频号怎么营销推广  # 推广网站设计方案  # 内江网站建设和优化公司  # 龙华网站建设在哪里  # 淄博抖音关键词排名联系方式  # seo禁止纳入  # 拉萨网站建设服务范围  # 关键词搜索排名工具zn乚云速捷  # 并将  # 中文网  # 相关文章  # 适用于  # css  # 不均匀  # 中不  # 如何在  # 就能  # overflow  # html布局  # 排列  # css样式  # 解决方法  # ai  # html  # java  # javascript 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: Vue.js 图片显示异常排查:理解应用挂载范围与DOM ID唯一性  qq游戏免费畅玩入口_qq游戏电脑版快速启动  Composer如何处理Git子模块(submodule)依赖_Composer与Git Submodule的对比与选择  如何使用spryker/configurable-bundles-products-resource-relationship模块解决复杂产品捆绑关系难题  如何为你的Composer包编写自动化测试_集成PHPUnit到Composer的scripts工作流  Odoo 16:在表单视图中基于当前记录动态修改Tree视图属性  PHP表单数据传递:如何通过隐藏输入字段获取动态ID  护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?  Django表单验证失败时保留用户输入数据的最佳实践  解决 Express.js 中 PUT 请求密码修改失败的路由配置指南  汽车之家官方网站官网入口_汽车之家网页版直接进入  飞书妙记怎样用语音转文字速记_飞书妙记用语音转文字速记【速记方法】  php源码怎么看淘宝客系统_看php源码淘宝客系统技巧  Angular中父组件异步更新子组件复选框状态的实践指南  Go语言HTML解析:利用Goquery精准获取指定元素内容  PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误  印象笔记怎样用批量导出备知识库_印象笔记用批量导出备知识库【备份方法】  手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析  Django模型中自动计算可用余额的实现方法  《燕云十六声》两周内达九百万玩家!位居畅销榜第五  React中useState与局部变量:理解组件状态管理与渲染机制  文心一言怎样用插件调度API数据_文心一言用插件调度API数据【API调用】  汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口  抓大鹅无需下载版 抓大鹅秒玩版入口  J*aScript中针对特定容器内图片动画的实现教程  TikTok国际版官网直达_TikTok国际版官网直达进入在线观看  使用Pandas转换并合并DataFrame:多列映射至统一结构  steam官方入口大全 steam账号注册及操作指南  如何优雅地解决Livewire文件上传难题?SpatieLivewireFilepond让一切变得简单  Mac终端命令大全_Mac常用Terminal指令速查  服务端验证_j*ascript输入检查  天眼查企业查询官网入口 天眼查官方网页版查询  探索高级语言到C/C++的转译路径:以Go为例及内存管理策略  J*aScript中高效管理与清空动态列表:避免循环陷阱  支付宝如何设置安全保护_支付宝安全设置的全面教程  C++如何实现单例模式_C++设计模式之线程安全的单例写法  php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】  Centos/Linux 系统下安装 composer 的完整步骤  React/Next.js中实现列表项的动态选择与移动  在python-socketio事件处理器中安全访问Flask应用上下文  Win11截图该按哪些键 Win11截屏完整流程解析【教程】  fishbowl官网免费版 fishbowl养鱼网站入口  Yandex免登录网页版地址 Yandex搜索引擎官方访问入口  如何优雅地扩展SprykerGlue后端API授权逻辑,使用spryker/glue-backend-api-application-authorization-connector-extension  菜鸟取件码是什么怎么查 最全查询渠道汇总  QQ邮箱正确登录入口_QQ邮箱官方网站使用地址  uc浏览器网页版入口 uc浏览器网页版最新网址  AO3镜像入口大全 AO3网页版内容访问全集  QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口  知音漫客官网漫画下载_知音漫客网页版阅读记录 

搜索