.wave…">
当前位置:首页 > CSS

css制作海浪

2026-02-13 00:36:20CSS

使用CSS制作海浪效果

通过CSS的clip-path属性和动画可以创建动态的海浪效果。以下是一种实现方法:

<div class="wave"></div>
.wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
  clip-path: path("M0,0 C150,200 350,0 500,100 L500,0 L0,0 Z");
  animation: wave 8s linear infinite;
}

@keyframes wave {
  0% {
    clip-path: path("M0,0 C150,200 350,0 500,100 L500,0 L0,0 Z");
  }
  50% {
    clip-path: path("M0,0 C150,0 350,200 500,100 L500,0 L0,0 Z");
  }
  100% {
    clip-path: path("M0,0 C150,200 350,0 500,100 L500,0 L0,0 Z");
  }
}

使用SVG结合CSS

另一种方法是使用SVG路径配合CSS动画:

<div class="wave-container">
  <svg viewBox="0 0 1200 120" preserveAspectRatio="none">
    <path class="wave" d="M0,0 C150,200 350,0 500,100 C650,200 850,0 1000,100 C1150,200 1350,0 1500,100 L1500,0 L0,0 Z"></path>
  </svg>
</div>
.wave-container {
  position: relative;
  height: 150px;
  overflow: hidden;
}

.wave {
  fill: #4facfe;
  animation: wave 8s linear infinite;
}

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

多层波浪效果

创建更真实的海浪效果可以叠加多个波浪层:

<div class="ocean">
  <div class="wave wave1"></div>
  <div class="wave wave2"></div>
  <div class="wave wave3"></div>
</div>
.ocean {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200%;
  height: 100%;
  background-repeat: repeat no-repeat;
  background-position: 0 bottom;
  transform-origin: center bottom;
}

.wave1 {
  background-size: 50% 80px;
  background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1200 120" xmlns="http://www.w3.org/2000/svg"><path d="M0,0 C150,40 350,-40 500,0 C650,40 850,-40 1000,0 C1150,40 1350,-40 1500,0 L1500,120 L0,120 Z" fill="%234facfe"/></svg>');
  animation: wave 10s linear infinite;
}

.wave2 {
  background-size: 50% 100px;
  background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1200 120" xmlns="http://www.w3.org/2000/svg"><path d="M0,0 C150,60 350,-60 500,0 C650,60 850,-60 1000,0 C1150,60 1350,-60 1500,0 L1500,120 L0,120 Z" fill="%2300f2fe"/></svg>');
  animation: wave 8s linear infinite reverse;
  opacity: 0.7;
}

.wave3 {
  background-size: 50% 60px;
  background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1200 120" xmlns="http://www.w3.org/2000/svg"><path d="M0,0 C150,20 350,-20 500,0 C650,20 850,-20 1000,0 C1150,20 1350,-20 1500,0 L1500,120 L0,120 Z" fill="%2300d1fe"/></svg>');
  animation: wave 12s linear infinite;
  opacity: 0.5;
}

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

这些方法提供了不同复杂度的海浪效果实现,可根据项目需求选择合适的方式。SVG方法通常能提供更平滑的波浪曲线,而纯CSS方法则更轻量。多层波浪叠加可以创造出更真实的海洋波动效果。

css制作海浪

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

相关文章

css菜单制作

css菜单制作

基础水平菜单制作 使用无序列表<ul>和<li>标签构建结构,CSS设置横向排列: <ul class="horizontal-menu"> <li&…

css 制作表格

css 制作表格

基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<th>(表头)和<td>(单元格)标签。例如: <table&…

css表格制作

css表格制作

CSS 表格制作基础 使用 CSS 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table&…

css 制作三角形

css 制作三角形

使用 CSS 制作三角形的方法 边框法(Border Method) 通过设置元素的宽高为0,并利用边框的透明属性来创建三角形。这是最常见且兼容性最好的方法。 向上三角形 .triangl…

表格制作css

表格制作css

基础表格样式 使用CSS可以轻松地为HTML表格添加样式。以下是一个基础表格的HTML和CSS示例: <table class="basic-table"> <thead>…

css制作相册

css制作相册

使用CSS Grid布局制作相册 CSS Grid布局非常适合创建响应式相册,能够灵活调整行列和间距。 .photo-gallery { display: grid; grid-templ…