中級

ハンバーガーメニューのしくみ

スマートフォンでWebサイトを開くと、右上に三本線のボタンがよくありますね。押すとメニューが出てきて、もう一度押すと閉じる。このレッスンから数回に分けて、このメニューを自分で作れるようになります。まずは「どういうしくみなのか」を確認しておきましょう。

スマホで閉じている状態・開いた状態と、PCで横並びになった状態の比較
このレッスンのゴール。スマホでは三本線で開閉し、PCでは横並びにする

ハンバーガーメニューとは

ハンバーガーメニューとは、Webサイトのナビゲーションメニューの表示形式の一種です。3本の横線が並ぶアイコンが、ハンバーガー(バンズとパテ)のように見えることから名付けられました。アイコンを押すと、隠れていたメニューが表示されます。

呼び方はいくつかあります。どれもほぼ同じものを指しています。

  • サイドメニュー
  • ドロワーメニュー(引き出しのように出てくるメニュー)
  • ナビゲーションドロワー
  • オフキャンバスメニュー(画面の外に置いてあるメニュー)

トグルとは

三本線のボタンは「トグルボタン」とも呼ばれます。トグル(toggle)は、ダッフルコートの棒状のボタン(留め具)のこと。ITの分野では、同じ操作をするたびに、2つの状態が交互に切り替わるしくみを「トグル」と呼びます。押すと開く、もう一度押すと閉じる。ハンバーガーメニューは、まさにトグルです。

なぜスマホではメニューを隠すのか

まず、作る前にどう表示したいか(UIの仕様)を決めておきます。

スマートフォン(幅が狭い)PC(幅が広い)
メニュー縦に並べて、ふだんは隠しておく横に並べて、いつも見せておく
三本線のボタン右上に置く。押すとメニューが出るいらないので消す

横幅が狭いスマホ画面では、メニューが4つ以上あると横に並べきれません。そこでメニューを縦にまとめて一度隠し、ボタンを押したときだけ出すようにします。PCは幅が十分にあるので、メニューを横に並べ、ボタンは消します。

【ポイント】作るときはモバイルファースト
まずスマートフォン用の表示を作り、あとから「幅が広いときは横並びにする」とPC用のCSSを足していきます。この順番のほうが、CSSが短く、わかりやすくなります。

作り方は大きく3通り

作り方しくみこの教科書では
CSSだけチェックボックスのON・OFFを合図に、メニューを出したり隠したりするしくみを理解するために最初に作る
JavaScriptボタンを押したらクラスを付け外しして、メニューを出したり隠したりする実際のサイトではこちらがおすすめ
jQueryJavaScriptのライブラリで同じことをする(slideToggle など)以前の教材で使用。いまは素のJavaScriptで短く書けるので、新しく作るなら不要

この単元では、次の順番で進めます。

  1. 三本線のボタンを作る(CSSだけ)
  2. ボタンでメニューを開閉する(CSSだけ)
  3. JavaScriptで開閉する
  4. PCでは横並びにする(完成)
  5. メニューをページ上部に固定する

始める前に、ナビゲーションとはとレスポンシブウェブデザインのレッスンを読んでおくと、スムーズに進められます。

最近の記事 おすすめ記事

記事一覧を表示するには、カスタム投稿「演出効果」にて、4つ以上記事を作成してください。

記事一覧を表示するには、カスタム投稿「演出効果」にて、4つ以上記事を作成してください。

演出効果
  • カテゴリーなし
TOP