「ハンバーガー」アイコンをクリックしたら「バツ」アイコンにアニメーションする CSS

ハンバーガーアイコンをクリックしたらバツアイコンにアニメーションする CSS。JavaScriptを使わずにCSSだけで実現しています。

iPhone5
iPhone7
iPad
Full
×
クラス名
大きさ
ボーダー色
角のなめらかさ

Source Code

右上の「コピー」からご利用ください。

<input id="my-parts-checkbox" class="my-parts-hidden" type="checkbox">
<label id="my-parts-icon" for="my-parts-checkbox"><span></span></label>
.my-parts-hidden {
  display: none;
}

#my-parts-icon {
  cursor: pointer;
  display: inline-block;
  height: 50px;
  position: relative;
  width: 50px;
}

#my-parts-icon span {
  background:  #333;
  border-radius: 4px;
  display: block;
  height: 16%;
  left: 50%;
  margin: -8% 0 0 -42%;
  position: absolute;
  top: 50%;
  transition: all 0.3s ease-in-out;
  width: 84%;
}

#my-parts-icon span::before,
#my-parts-icon span::after {
  -webkit-transform: rotate(0);
  background: #333;
  border-radius: 4px;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: -8% 0 0 -50%;
  position: absolute;
  top: 50%;
  transform: rotate(0);
  transition: all 0.3s ease-in-out;
  width: 100%;
}

#my-parts-icon span::before {
  margin-top: -38%;
}

#my-parts-icon span::after {
  margin-top: 19%;
}

#my-parts-checkbox:checked ~ #my-parts-icon span {
  background: rgba(51, 51, 51, 0);
}

#my-parts-checkbox:checked ~ #my-parts-icon span::before,
#my-parts-checkbox:checked ~ #my-parts-icon span::after {
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: -8% 0 0 -42%;
  position: absolute;
  top: 50%;
  width: 100%;
}

#my-parts-checkbox:checked ~ #my-parts-icon span::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

#my-parts-checkbox:checked ~ #my-parts-icon span::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
関連パーツ

Webパーツ屋とは?

HTMLとCSSをコピペで貼り付ければ実装できるコードをストックしているところです。「このデザインってどうやって実装するんだっけなぁ。。。」と調べる無駄な時間や自分で1からコーディングする時間を短縮することが目的です。

コーディングなんて所詮はデザインにそってHTMLやCSSを当てはめていくだけの単純作業です。当サービス「Webパーツ屋」をご活用いただきスピーディなコーディングを行なっていきましょう!

使い方について、詳しくは以下の記事で紹介しています。
コピペで簡単にコードを挿入できる「Webパーツ屋」というサービスを作りました!

免責事項

  • すべての環境において同一の表示になるとは限りません。環境に応じてコードは書き換えてください。
  • 当サイト「Webパーツ屋」内のコードは自由に利用していただいて構いませんが、使用したことで何かしらのトラブルが発生しても、管理人のわたしは一切の責任を負わないことをご了承ください。
  • 基本的にはChromeでしか動作確認していません...。