【CSS】ハンバーガーメニューの実装方法!ばつ(×)印に変化させる

この記事からわかること
- CSSのみでハンバーガーメニューの実装方法
- コードの解説
- ボタンをクリックでばつ(×)印にアニメーションさせるには?
\ アプリをリリースしました /
CSSでハンバーガーメニューアイコンを実装する方法
サイトのナビゲーション上部に設置されることの多い、ハンバーガーメニューアイコンをCSSのみで実装する方法をまとめていきます。以下例です。
まずはHTML部分を実装します。大枠をdiv
要素で囲んで中にspan
で三本線用の要素を実装しておきます。
CSS側ではdisplay: flex
とflex-direction: column
を使用して縦3列に並べておきます。あとは線の太さや長さ、カラーを調整、余白用のmargin
を付与すれば完成です。
ボタンクリック時にばつ印にアニメーションさせる
ボタンクリック時にハンバーガーメニューからばつ印にアニメーションさせるにはまずHTMLを以下のように書き換えます。input
要素とlabel
に書き換えて両者がリンクするようにid
とfor
をつけておきます。これでlabelをクリックすることでinput要素にchecked
がつきます。
cssはp-hamburger-line
にtransition
を追加します。#hamburger-checkbox:checked+.p-hamburger
でinputがチェックされている(checkedついている)ときの各段をnth-child
でそれぞれ指定し傾きを適応させます。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。