当前位置:首页 > CSS

用css制作海浪

2026-03-11 19:06:51CSS

CSS制作海浪效果

使用CSS可以创建多种海浪效果,以下是几种常见的方法:

使用border-radius和动画

通过border-radius属性和关键帧动画可以模拟波浪运动:

用css制作海浪

.wave {
  width: 200px;
  height: 100px;
  background: #1e90ff;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  animation: wave 3s ease-in-out infinite;
}

@keyframes wave {
  0%, 100% {
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  }
  50% {
    border-radius: 40% 60% 0 0 / 80% 120% 0 0;
  }
}

SVG波浪路径

使用SVG创建更精确的波浪形状,然后通过CSS动画使其移动:

用css制作海浪

<div class="wave-container">
  <svg viewBox="0 0 1200 120" preserveAspectRatio="none">
    <path d="M0,0 L0,40 C150,100 350,0 500,40 C650,-20 850,100 1000,40 L1200,40 L1200,0 Z" fill="#1e90ff"></path>
  </svg>
</div>
.wave-container {
  width: 100%;
  height: 100px;
  overflow: hidden;
}

.wave-container path {
  animation: wave 8s linear infinite;
}

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

多重波浪效果

创建多层波浪以增加深度感:

.wave-wrapper {
  position: relative;
  height: 150px;
  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;
}

.wave-top {
  background-size: 50% 100px;
  animation: wave 3s linear infinite;
}

.wave-middle {
  background-size: 50% 80px;
  animation: wave 5s linear infinite;
}

.wave-bottom {
  background-size: 50% 60px;
  animation: wave 7s linear infinite;
}

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

使用CSS clip-path

clip-path属性可以创建复杂的波浪形状:

.wave {
  width: 100%;
  height: 100px;
  background: linear-gradient(to right, #1e90ff, #00bfff);
  clip-path: path('M0,0 L0,40 Q150,80 300,40 Q450,0 600,40 Q750,80 900,40 Q1050,0 1200,40 L1200,0 Z');
  animation: wave 5s ease-in-out infinite;
}

@keyframes wave {
  0%, 100% {
    clip-path: path('M0,0 L0,40 Q150,80 300,40 Q450,0 600,40 Q750,80 900,40 Q1050,0 1200,40 L1200,0 Z');
  }
  50% {
    clip-path: path('M0,0 L0,60 Q150,20 300,60 Q450,0 600,60 Q750,20 900,60 Q1050,0 1200,60 L1200,0 Z');
  }
}

这些方法可以根据需要调整颜色、大小和动画参数来创建不同风格的海浪效果。SVG方法通常能提供最平滑的波浪形状,而纯CSS方法则更轻量且易于修改。

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

相关文章

css导航条制作

css导航条制作

基础导航条制作 使用HTML的无序列表<ul>和CSS的display: flex属性可以快速创建横向导航条。HTML结构通常包含导航链接列表,CSS负责样式和布局。 <nav&g…

css制作图片

css制作图片

CSS 制作图片的方法 使用 background-image 属性 通过 background-image 属性可以为元素设置背景图片。这种方法适用于将图片作为背景而非内容的一部分。 .eleme…

css二级菜单制作

css二级菜单制作

使用纯CSS实现二级菜单 通过嵌套HTML结构和CSS选择器实现二级菜单的显示与隐藏效果。以下是一个基础实现方案: HTML结构: <ul class="menu"> <li…

css制作彩虹

css制作彩虹

使用线性渐变创建彩虹效果 通过CSS的linear-gradient属性可以轻松实现彩虹效果。以下是一个基础的彩虹样式代码: .rainbow { width: 100%; height:…

css网页制作

css网页制作

CSS 网页制作基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键知识点和实用方法: 基本语法结构 CSS 规则由选择器和声明块组成: 选择器 { 属性: 值…

jquery css

jquery css

jQuery 操作 CSS 的方法 jQuery 提供了多种方法来操作元素的 CSS 样式,包括获取、设置、添加或移除样式。以下是常用的方法: 获取 CSS 属性值 使用 .css() 方法获取元素…