WAVEをCSSで動かす方法(波)

WAVEをCSSで動かす方法(波)

時々、うねうねと動く波(WAVE)を使っているWEBサイトを見かけますが、
CSSとSVG画像で実現できます。

SVG画像の内容はこちら(イラレなどで作り直してもOKです!)

<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="198">
  <defs>
    <linearGradient id="a" x1="50%" x2="50%" y1="-10.959%" y2="100%">
      <stop stop-color="#ffffff" stop-opacity=".25" offset="0%"/>
      <stop stop-color="#86D0F0" offset="100%"/>
    </linearGradient>
  </defs>
  <path fill="url(#a)" fill-rule="evenodd" d="M.005 121C311 121 409.898-.25 811 0c400 0 500 121 789 121v77H0s.005-48 .005-77z" transform="matrix(-1 0 0 1 1600 0)"/>
</svg>

CSS部分はこちら

.ocean { 
  height: 5%;
  width:100%;
  position:absolute;
  bottom:0;
  left:0;
	position: absolute;
    bottom:-50px;
}

.wave {
  background: url(../svg/wave.svg) repeat-x; 
  position: absolute;
  top: -198px;
  width: 6400px;
  height: 198px;
  animation: wave 9s cubic-bezier( 0.36, 0.45, 0.63, 0.53) infinite;
  transform: translate3d(0, 0, 0);
}

.wave:nth-of-type(2) {
  top: -175px;
  animation: wave 15s cubic-bezier( 0.36, 0.45, 0.63, 0.53) -.125s infinite, swell 10s ease -5.25s infinite;
  opacity: 1;
}

@keyframes wave {
  0% {
    margin-left: 0;
  }
  100% {
    margin-left: -1500px;
  }
}

@keyframes swell {
  0%, 100% {
    transform: translate3d(0,-55px,0);
  }
  50% {
    transform: translate3d(0,5px,0);
  }
}

HTML部分はこちら!

<!-- 動く波WAVE -->
<div class="ocean">
  <div class="wave"></div>
  <div class="wave"></div>
</div>
<!-- 動く波WAVE -->

参考サイト:https://codepen.io/tedmcdo/pen/PqxKXg

ポチッ☆とクリックお願いします!
↓ ↓ ↓

  • にほんブログ村 IT技術ブログ ホームページ・サイト制作支援へ

コメントは受け付けていません。

サブコンテンツ

TOP