当前位置:首页 > CSS

用css制作海浪

2026-03-11 19:06:51CSS

CSS制作海浪效果

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

使用border-radius和动画

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

.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动画使其移动:

<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属性可以创建复杂的波浪形状:

用css制作海浪

.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和CSS创建表格 HTML提供<table>标签用于创建表格结构,CSS用于控制样式。以下是一个基础示例: <table class="styled-table">…

咖啡店css制作

咖啡店css制作

咖啡店网页CSS设计要点 布局与配色 咖啡店网页通常采用温暖自然的配色方案,如棕色、米色、浅绿色等大地色系。主色调可选择咖啡色(#6F4E37)作为品牌色,搭配奶油色(#FFF8E8)作为背景。使用C…

怎么用css制作网页

怎么用css制作网页

使用CSS制作网页的基本方法 CSS(层叠样式表)用于控制网页的样式和布局。以下是一些基本步骤和方法: 创建CSS文件 新建一个后缀为.css的文件,例如style.css。在HTML文件中通过&l…

css制作流程图

css制作流程图

使用CSS制作流程图的方法 基础布局结构 采用HTML的<div>元素构建流程节点,结合CSS的flexbox或grid布局实现整体排列。节点间用伪元素或独立元素(如<span>…

css制作网页

css制作网页

CSS 网页设计基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键方法和示例: 基础结构 HTML 文件需链接 CSS: <link rel="styles…

css制作菜单

css制作菜单

CSS 制作菜单的方法 使用 CSS 可以制作多种风格的菜单,包括水平菜单、垂直菜单、下拉菜单等。以下是几种常见的实现方式。 水平菜单 水平菜单通常用于导航栏,可以通过 display: inlin…