<div class="wave"></div>
.wave {
  --size: 50px;
  --m: 0.5;
  --p: calc(var(--m)*var(--size));
  --R: calc(var(--size)*sqrt(var(--m)*var(--m) + 1));
  
  height: 400px;
  margin: 10px 0;
  
  
mask:
  radial-gradient(var(--R) at left 50% bottom calc(var(--size) + var(--p)),#000 99%,#0000 101%) 
   left calc(50% - 2*var(--size)) bottom 0/calc(4*var(--size)) 51% repeat-x,
  radial-gradient(var(--R) at left 50% bottom calc(-1*var(--p)),#0000 99%,#000 101%) 
   left 50% bottom var(--size)/calc(4*var(--size)) calc(51% - var(--size)) repeat-x,
  radial-gradient(var(--R) at left 50% top calc(var(--size) + var(--p)),#000 99%,#0000 101%) 
   left calc(50% - 2*var(--size)) top 0/calc(4*var(--size)) 51% repeat-x,
  radial-gradient(var(--R) at left 50% top calc(-1*var(--p)),#0000 99%,#000 101%) 
   left 50% top var(--size)/calc(4*var(--size)) calc(51% - var(--size)) repeat-x;
  background:linear-gradient(90deg,red,blue);  
  border: none;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.