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

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.xdnf.cn/news/6641.html

相关文章:

  • Linux du 命令终极指南:从基础到精通
  • 详解具身智能开源数据集:RH20T
  • Maven使用详解:Maven的概述(二)
  • 单片机-STM32部分:18、WiFi模组
  • 真题卷001——算法备赛
  • 小结:JavaScript 模块化工具链
  • 傅里叶变换实战:图像去噪与边缘提取
  • 锚点跳转跟踪#
  • Web-CSS入门
  • ci/cd全流程实操
  • 2025年全国青少年信息素养大赛复赛集训(2):寻找250(题目及解析)
  • Perl测试起步:从零到精通的完整指南
  • 【Python】【OCR识别】 提取图片文字并根据内容智能分类存储
  • C#运算符
  • 大语言模型与多模态模型比较
  • 【笔记】cri-docker.service和containerd
  • 特斯拉虚拟电厂:能源互联网时代的分布式革命
  • [IMX] 01.IVT 表长度计算
  • 考研408《计算机组成原理》复习笔记,第二章(2)数值数据的表示(浮点数篇)
  • 【springboot项目服务假死、内存溢出问题排查】
  • shell-awk
  • TVS管用万用表测量方法详解(含二极管档使用指南)
  • 【微信小程序】webp资源上传失败
  • 告别碎片化!MCP 带来 AI Agent 开发生态的革命性突破
  • Qt之QMessageBox
  • 【RabbitMQ】实现RPC通信的完整指南
  • 浅谈算法中的贪心策略:从直觉到策略的思维跨越
  • ios打包ipa获取证书和打包创建经验分享
  • (独家)SAP CO模块中 销售发票对应的Cost Document中的PSG对象是什么东东??
  • leetcode0621. 任务调度器-medium