Moving CSS wave

End of section Wave

Over the section Wave

Would you like to add a nice animated CSS wave to your design ?

Create a section and make it fullwidth

Adjust the alignment to bottom.

Add an embed element with this code

<!--Waves Container-->

<div>

<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="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" />

</defs>

<g class="parallax">

<use xlink:href="#gentle-wave" x="48" y="0" fill="rgba(255,255,255,0.7" />

<use xlink:href="#gentle-wave" x="48" y="3" fill="rgba(255,255,255,0.5)" />

<use xlink:href="#gentle-wave" x="48" y="5" fill="rgba(255,255,255,0.3)" />

<use xlink:href="#gentle-wave" x="48" y="7" fill="#fff" />

</g>

</svg>

</div>

If you want it rotated 180° for end of section.

<!-- Waves Container -->

<div style="transform: rotate(180deg);">

<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="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" />

</defs>

<g class="parallax">

<use xlink:href="#gentle-wave" x="48" y="0" fill="rgba(255,255,255,0.7" />

<use xlink:href="#gentle-wave" x="48" y="3" fill="rgba(255,255,255,0.5)" />

<use xlink:href="#gentle-wave" x="48" y="5" fill="rgba(255,255,255,0.3)" />

<use xlink:href="#gentle-wave" x="48" y="7" fill="#fff" />

</g>

</svg>

</div>

And then add this CSS code to the embed element custom code

body {

margin:0;

}

.waves {

position:relative;

width: 100%;

height:25vh;

margin-bottom:-15px; /*Fix for safari gap*/

min-height:100px;

max-height:150px;

}

/* Animation */


.parallax > use {

animation: move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite;

}

.parallax > use:nth-child(1) {

animation-delay: -2s;

animation-duration: 7s;

}

.parallax > use:nth-child(2) {

animation-delay: -3s;

animation-duration: 10s;

}

.parallax > use:nth-child(3) {

animation-delay: -4s;

animation-duration: 13s;

}

.parallax > use:nth-child(4) {

animation-delay: -5s;

animation-duration: 20s;

}

@keyframes move-forever {

0% {

transform: translate3d(-90px,0,0);

}

100% {

transform: translate3d(85px,0,0);

}

}

/*Shrinking for mobile*/

@media (max-width: 768px) {

.waves {

height:40px;

min-height:40px;

}

.content {

height:30vh;

}

h1 {

font-size:24px;

}

}

Don't forget to remove all the padding of the section where the embed element is or it won't fit on mobile and tablet view

Other hacks that could interest you

Blog article image
Price ribbon for Brizy
Blog article image
Slider cache
Blog article image
Moving CSS wave
Blog article image
Image overlapping

Any ideas or Requests


Thanks


Feel free to contact us.

if you have any Hacks that would be great to add or any ideas you would like to be solved with Brizy cloud, You can write at contact@kent1media.com or use the form to upload images and ideas. Thanks a lot !!!

If you want just to say thank you or help us maintain this page, Feel free to donate whatever you want

DONATE

Thanks a lot for your help, It's greatly appreciated !!

And feel free to ask for tutorials or tips that you would like to discover on the site