当前位置: 首页 > article >正文

css:无限滚动波浪线

以上是需要实现的效果,一条无限滚动波浪线,可以用来做区块的分割线。

要形成上下交替的圆形,思路是给div加圆角边框,第一个只有上边框,第二个只有下边框。

循环了100个div,这个数量根据自己容器宽度调整,或者动态计算。

<div class="wave-container"><div class="waves"><div class="wave" v-for="item in 100"></div></div>
</div>

css需要注意的点就是容器overflow要设置hidden,然后使用奇数偶数来设置上下边框。 

.wave-container {margin-top: 10%;overflow: hidden;display: flex;}.waves {display: flex;}
.wave:nth-child(odd) {border-radius: 50% 50% 0 0;border-top: 1px solid #55aaff;}.wave:nth-child(even) {border-radius: 0 0 50% 50%;border-bottom: 1px solid #55aaff;}

这样一条静态的波浪线就生成了,然后要让它动起来,加上动画即可,设置infinite,就会无限滚动。

.waves {display: flex;animation: wave-scroll 20s linear infinite;}@keyframes wave-scroll {from {transform: translateX(0);}to {transform: translateX(-100%);}}

 但是现在的效果是波浪滚动全滚动到左边后,就产生空白了,要形成无缝衔接的效果,就需要复制一个相同的波浪,如下图,1号和2号,它俩都向左移动,当1号移出容器后,2号替代1号占据了容器,此时1号已经移动到-100%的位置,然后1号又回到0%重新向着-100%运动,如此交替移动,形成无缝衔接,平时经常用到的无缝衔接滚动列表也可以用这个思路实现。

以下是全部代码:

<template><div class="wave-container"><div class="waves"><div class="wave" v-for="item in 100"></div></div><div class="waves"><div class="wave" v-for="item in 100"></div></div></div>
</template><script>
</script><style scoped>.wave-container {margin-top: 10%;overflow: hidden;display: flex;}.waves {display: flex;animation: wave-scroll 20s linear infinite;}@keyframes wave-scroll {from {transform: translateX(0);}to {transform: translateX(-100%);}}.wave {width: 30px;height: 30px;}.wave:nth-child(odd) {border-radius: 50% 50% 0 0;border-top: 1px solid #55aaff;}.wave:nth-child(even) {border-radius: 0 0 50% 50%;border-bottom: 1px solid #55aaff;}
</style>
http://www.lryc.cn/news/2380129.html

相关文章:

  • 显示器无法接受键盘/鼠标问题解决
  • w~自动驾驶~合集3
  • <C++> MFC自动关闭对话框(MessageBoxTimeout)
  • 山东大学计算机图形学期末复习整理5——CG10上
  • STM32移植LVGL8.3 (保姆级图文教程)
  • AT 指令详解:基于 MCU 的通信控制实战指南AT 指令详解
  • 虚幻引擎5-Unreal Engine笔记之Default Pawn与GamMode、Camera的关系
  • C++多态的详细讲解
  • vue项目启动报错
  • 项目删除了,为什么vscode中的git还是存在未提交记录,应该怎么删除掉
  • 免费私有化部署! PawSQL社区版,超越EverSQL的企业级SQL优化工具面向个人开发者开放使用了
  • SecureCRT 使用指南:安装、设置与高效操作
  • Tomcat多应用部署与静态资源路径问题全解指南
  • web常见的攻击方式
  • 【微信小程序 + 高德地图API 】键入关键字搜索地址,获取经纬度等
  • java中如何优雅处理多租户系统的查询?
  • 排序算法之线性时间排序:计数排序,基数排序,桶排序详解
  • Linux | mdadm 创建软 RAID
  • 物联网工程毕业设计课题实践指南
  • CodeEdit:macOS上一款可以让Xcode退休的IDE
  • LLaMA-Factory 微调 Qwen2-7B-Instruct
  • mac本地docker镜像上传指定虚拟机
  • 从代码学习深度学习 - 风格迁移 PyTorch版
  • 软件设计师考试《综合知识》设计模式之——工厂模式与抽象工厂模式考点分析
  • 轻量级离线版二维码工具的技术分析与开发指南
  • 中级网络工程师知识点4
  • 机器学习--特征工程具体案例
  • LeetCode 每日一题 2025/5/12-2025/5/18
  • Unreal 从入门到精通之SceneCaptureComponent2D实现UI层3D物体360°预览
  • 电机控制杂谈(25)——为什么对于一般PMSM系统而言相电流五、七次谐波电流会比较大?