CSS3水波特效:
@keyframes move_wave {
0% {
transform: translateX(0) translateZ(0) scaleY(1)
}
50% {
transform: translateX(-25%) translateZ(0) scaleY(0.55)
}
100% {
transform: translateX(-50%) translateZ(0) scaleY(1)
}
}
.waveWrapper {
width:100%;
height:310px;
overflow: hidden;
margin:0 auto;
margin-left:-8px;
}
.waveWrapperInner {
position: absolute;
width: 100%;
overflow: hidden;
height: 310px;
top:0;
background-color:#3eafb9;
/*background-image: linear-gradient(to top, #91d1d7 20%, #3eafb9 80%);*/
}
.bgTop {
z-index: 15;
opacity: 0.5;
}
.bgMiddle {
z-index: 10;
opacity: 0.75;
}
.bgBottom {
z-index: 5;
opacity: 1;
}
.wave {
position: absolute;
left: 0;
width: 200%;
height: 100%;
background-repeat: repeat no-repeat;
background-position: 0 bottom;
transform-origin: center bottom;
}
.waveTop {
background-size: 100% 80px;
}
.waveAnimation .waveTop {
animation: move_wave 10s linear infinite;
}
.waveMiddle {
background-size: 100% 80px;
}
.waveAnimation .waveMiddle {
animation: move_wave 10s linear infinite;
}
.waveBottom {
background-size: 100% 80px;
}
.waveAnimation .waveBottom {
animation: move_wave 10s linear infinite;
}
.waveWrappercover{ width:300px; height:auto; top:100px; left:50%; margin-left:-150px; position:absolute; z-index:20;}
.waveWrappercover img{ width:100%;}
<div class="waveWrapper waveAnimation">
<div class="waveWrappercover"><img src="img/top-img.png" /></div>
<div class="waveWrapperInner bgTop">
<div class="wave waveTop" style="background-image: url('img/wave-top.png')"></div>
</div>
<div class="waveWrapperInner bgMiddle">
<div class="wave waveMiddle" style="background-image: url('img/wave-mid.png')"></div>
</div>
<div class="waveWrapperInner bgBottom">
<div class="wave waveBottom" style="background-image: url('img/wave-bot.png')"></div>
</div>
</div>