WEB制作

CSSのみで実装!ハンバーガーメニューの作り方【JS不要】

humburger

hamburger_boyJavaSctiptが分からない人
「CSSだけで、ハンバーガーメニューを作りたい」
「JavaScriptは勉強していないから、使い方が分からない」

CSSだけでも、実装可能です。

この記事を書いている僕はProgateの上級編をクリアしたばかり。
分かりやすく、解説いたします。

CSSのみで実装!ハンバーガーメニューの作り方

humburger

実装サンプル(ソース込み)

3つに分けて、考えるといいです。

  • デザイン
  • 発火方法
  • 動かし方

これらの要素を、ひとつひとつ見ていきましょう。

デザインについて

まずデザインを実装。

初心者は、この時点でもう挫折します。
僕も相当苦戦しました。

hamburger-image

大きな四角い箱の中に、小さい小さな四角を3つ入れて実装します。
大きい箱を<Div>タグ、小さい箱を<span>タグとして、コーディングします。

<span>タグのCSS調整ポイントは下記の通り。

  • Display:Blockにして、上から積み重ねる
  • それぞれの線の、高さを設定する

 

これでハンバーガーのデザインは、完成。

発火方法について

発火というのは、動きのキッカケです。
トリガーと呼んだりもします。

これは、Formタグを使って実現します。
理由は、CSS側で疑似クラスを使用できるから。

疑似クラスは、要素が指定の状態にあるときに適用できるセレクタです。
Progateでは、hoverとかで勉強しました!

CSSに疑似クラスを用意します。

ハンバーガー部分を、ラベルタグで囲うようにコーディングします。
すると、ハンバーガーのどの部分をクリックしてもチェックが入るようになりました。

動かし方について

疑似クラスに、動かし方を書きます。

今回実装する内容は、下記の通り。

  • 上の線をクルクルする
  • 真ん中の線をフェードアウト
  • 下の線をクルクルする

実装はこのようになります。

徐々に変化させたいので、Transitionを設定しています。

上と下のクルクルは、クルクルするだけではないです。
実は、中心によりながらクルクルしています。

後は、チェックボックスを非表示にしたら完成です。

セットで使いたい、ですよね?

ハンバーガーメニューって、単体で使うことって少ないです。
アコーディオンメニューと同時に使うことが多いハズ。

アコーディオンメニューについては、別記事にて記載予定です。

では、お疲れさまでした。