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

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

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パーツ屋」内のコードは自由に利用していただいて構いませんが、使用したことで何かしらのトラブルが発生しても、管理人のわたしは一切の責任を負わないことをご了承ください。
  • 基本的にはChromeでしか動作確認していません...。