【コピペ可】ハンバーガーメニューの開閉アニメーション4選

css

コピペ可能なハンバーガーメニューの閉開アニメーションを4つほどご紹介します。それぞれデモとサンプルコードを用意しました。メニュー要素にjavascriptでis-active クラスを付け替えることでアニメーションを実現しています。ハンバーガーメニューのボタンのアニメーションは「【CSS】ハンバーガーメニューのボタンアニメーション4選」に載せています。

スライドイン(最初のデモと同じ)

メニューが右からスライドインしてくるアニメーションです。

/* アニメーション前のメニューの状態 */
.menu{
  transform: translateX(100vw);
  transition: all .3s linear;
}
/* アニメーション後のメニューの状態 */
.menu.is-active{
  transform: translateX(0);
}

フェードイン

メニューがふわっと不透明になって表示されるアニメーションです。

See the Pen 最もシンプルなハンバーガーメニュー実装方法02 by YutoSeta / ホームページ制作のエクレア (@yutoseta) on CodePen.

/* アニメーション前のメニューの状態 */
.menu{
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s linear;
}
/* アニメーション後のメニューの状態 */
.menu.is-active{
  pointer-events: auto;
  opacity: 1;
}

くるっと回転しながら現れる

メニューが左上から回転して現れるアニメーションです。

/* アニメーション前のメニューの状態 */
.menu{
  transform-origin: top left;
  transform: rotateZ(-90deg);
  transition: all .3s ease;
}
/* アニメーション後のメニューの状態 */
.menu.is-active{
  transform: rotateZ(0deg);
}

拡大しながら現れる

メニューが大きくなりながら現れるアニメーションです。

See the Pen 最もシンプルなハンバーガーメニュー実装方法04 by YutoSeta / ホームページ制作のエクレア (@yutoseta) on CodePen.

/* アニメーション前のメニューの状態 */
.menu{
  pointer-events: none;
  opacity: 0;
  transform-origin: center;
  transform: scale(.5);
  transition: all .3s ease;
}
/* アニメーション後のメニューの状態 */
.menu.is-active{
  pointer-events: auto;
  opacity: 1;
  transform: scale(1.0);
}

ハンバーガーメニューのボタンのアニメーションについて

ハンバーガーメニューのボタンアニメーションについてはこちらの記事で解説しています。

css【コピペ可】ハンバーガーメニューのボタンアニメーション4選