当前位置:首页 > CSS

css制作波浪

2026-02-27 07:11:48CSS

CSS制作波浪效果

使用CSS可以创建多种波浪效果,常见方法包括使用SVG、CSS渐变和动画。以下是几种实现方式:

使用SVG和CSS动画

将SVG波浪路径嵌入HTML,通过CSS控制动画:

<div class="wave-container">
  <svg viewBox="0 0 1200 120" preserveAspectRatio="none">
    <path d="M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z" opacity=".25"></path>
    <path d="M0,0V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-49.24V0Z" opacity=".5"></path>
    <path d="M0,0V5.63C149.93,59,314.09,71.32,475.83,42.57c43-7.64,84.23-20.12,127.61-26.46,59-8.63,112.48,12.24,165.56,35.4C827.93,77.22,886,95.24,951.2,90c86.53-7,172.46-45.71,248.8-84.81V0Z"></path>
  </svg>
</div>
.wave-container {
  position: relative;
  height: 150px;
  overflow: hidden;
}

svg {
  position: absolute;
  bottom: 0;
  width: 100%;
  animation: wave 8s linear infinite;
}

@keyframes wave {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

使用CSS径向渐变

通过径向渐变创建波浪纹理:

.wave {
  width: 100%;
  height: 100px;
  background: 
    radial-gradient(circle at 10% 50%, transparent 20%, #00b4d8 25%, #00b4d8 30%, transparent 35%),
    radial-gradient(circle at 90% 50%, transparent 20%, #00b4d8 25%, #00b4d8 30%, transparent 35%);
  background-size: 50px 100px;
  animation: moveWave 3s linear infinite;
}

@keyframes moveWave {
  0% { background-position: 0 0; }
  100% { background-position: 50px 0; }
}

使用伪元素和border-radius

通过椭圆形状创建波浪:

.wave-box {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.wave-box::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200%;
  height: 100%;
  background: #0099ff;
  border-radius: 50%;
  animation: waveFlow 5s ease-in-out infinite alternate;
}

@keyframes waveFlow {
  0% { transform: translateX(-25%) rotate(0deg); }
  100% { transform: translateX(-50%) rotate(180deg); }
}

波浪效果优化技巧

  • 使用will-change: transform;提升动画性能
  • 调整贝塞尔曲线实现不同速度效果:animation-timing-function: cubic-bezier(0.36,0.45,0.63,0.53);
  • 多层波浪叠加创造深度效果,为每层设置不同透明度和动画延迟
  • 响应式设计时使用vw单位确保波浪比例适配不同屏幕

浏览器兼容方案

对于旧版浏览器需添加前缀:

@-webkit-keyframes wave {
  /* 相同关键帧内容 */
}
.wave {
  -webkit-animation: wave 3s linear infinite;
  animation: wave 3s linear infinite;
}

这些方法可根据具体需求组合使用,SVG方案适合复杂波浪形状,CSS渐变方案性能更优,伪元素方案实现简单但形状控制较弱。

css制作波浪

标签: 波浪css
分享给朋友:

相关文章

制作css外部

制作css外部

创建CSS外部文件的方法 新建一个纯文本文件,将文件扩展名改为.css,例如styles.css。确保文件内容只包含CSS代码,不包含HTML标签。 编写CSS内容 在CSS文件中直接编写样式规则…

css右导航栏制作

css右导航栏制作

CSS右导航栏制作方法 固定定位法 使用position: fixed将导航栏固定在视窗右侧,结合right和top属性控制位置。示例代码: .right-navbar { position:…

制作css选择器

制作css选择器

CSS选择器基础语法 CSS选择器用于定位HTML文档中的元素,以便为其应用样式。常见的基础选择器包括: 元素选择器:直接使用HTML标签名(如p、div) 类选择器:以.开头(如.header)…

css制作goole

css制作goole

使用CSS制作Google标志 Google标志由多彩的字母和简洁的字体组成,可以通过CSS的字体属性、颜色渐变和布局来实现。 字体选择 Google标志使用自定义字体"Product Sans",…

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于描述HTML元素的样式。一个基本的CSS规则由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。…

css如何制作圆

css如何制作圆

使用 border-radius 属性 通过设置 border-radius 属性可以轻松创建圆角或圆形元素。值为 50% 时,元素会呈现为圆形。 .circle { width: 100p…