效果预览:

<svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto">
		<defs><path id="wbg" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z"></path></defs>
		<g class="parallax wave">
			<use xlink:href="#wbg" x="48" y="0" fill="rgba(34,166,237,0.7)" class="wave"></use>
			<use xlink:href="#wbg" x="48" y="3" fill="rgba(34,166,237,0.5)" class="wave"></use>
			<use xlink:href="#wbg" x="48" y="5" fill="rgba(34,166,237,0.3)" class="wave"></use>
			<use xlink:href="#wbg" x="48" y="7" fill="rgba(34,166,237,0.2)" class="wave"></use>
			<use xlink:href="#wbg" x="48" y="9" fill="rgba(34,166,237,0.1)" class="wave"></use>
		</g>
</svg>

样式

.waves > .parallax.wave > use.wave {
	animation:forever 25s cubic-bezier(.55, .5, .45, .5)infinite
}

.waves > .parallax.wave > use.wave:nth-child(1) {
	animation-delay: -2s;
	animation-duration:7s
}

.waves > .parallax.wave > use.wave:nth-child(2) {
	animation-delay: -3s;
	animation-duration:10s
}

.waves > .parallax.wave > use.wave:nth-child(3) {
	animation-delay: -4s;
	animation-duration:13s
}

.waves > .parallax.wave > use.wave:nth-child(4) {
	animation-delay: -5s;
	animation-duration:20s
}

@keyframes forever {
	0% {
		transform:translate3d(-90px, 0, 0)
	}

	100% {
		transform:translate3d(85px, 0, 0)
	}
}