基礎編

グローバルナビゲーション2

グローバルナビゲーション2
WEB制作技術の引き出しを増やすため、自分なりにアレンジしたコードをアウトプットすることにしました。

その中でも特に勉強になったコードを紹介します。

コピペで使えるようになっているので、あなたのサイトで使っていただけるとうれしいです。

あくまでデザインの一例にすぎないので、調整してオリジナルのデザインを作ってみてください!

グローバルナビゲーション2

こちらは、クリックするとナビゲーションが画面全体に展開するタイプ――いわゆるフルスクリーンメニューのデモ集です。省スペースなモバイルUIの延長にありながら、開いた瞬間に世界観を見せられるため、ブランドサイトやポートフォリオで定番になりました。スライド方向や円形に広がる背景など、展開の演出パターンを網羅しています。

見どころは「開く前」と「開いた後」の状態設計です。メニューが全面を覆う以上、背面のコンテンツはその間、操作も閲覧もできない状態になります。この切り替えをどう自然に見せるかが、この種のUIの品質を決めます。

前回に続きグローバルナビゲーションです。

今回はハンバーガーメニューをクリックすると、ナビメニューがスライド表示されたり、円形の背景がスライド表示(拡大表示)されるアニメーションを作りました。

おさえておきたいところ

前回と同様、グローバルナビゲーションを使う目的と使いどころはこんな感じです。

       目的:サイト全体の構成を分かりやすく伝える
使いどころ:画面の読み込み中 / クリック / マウスオーバー / スクロール / 画面のリサイズ

クリックしたらナビがスライド表示

上から下

下から上

左から右

右から左

背景が全面に広がる

クリックしたら円形背景が拡大

上から

下から

右から

左から

右上から

右下から

左上から

左下から

中央から

クリックしたらナビ背景コンテンツがぼかされる ※IE11非対応

追従メニューの現在地をハイライト表示する

実務メモ(2026年追記)

いま全画面メニューを実装・保守するなら、まずinert属性を知っておく価値があります。メニュー表示中に背面のコンテンツへinertを付けるだけで、フォーカスも操作も無効化でき、かつてJSで頑張っていた「フォーカストラップ」が大幅に簡単になりました。また、背面のスクロールを止めるoverflow:hiddenは、スクロールバーの幅の分だけ画面がガタつくことがあるため、scrollbar-gutterでの予約が現在の解決策です。

  • 開閉トリガーは<button>要素+aria-expandedで(divのclickは不可)
  • ESCキーで閉じられるようにし、閉じたらトリガーへフォーカスを戻す
  • 演出はtransform/opacity中心なら全画面でも軽い
  • トリガー側のアイコン演出はハンバーガーメニューにまとめています

次回の予定

ナビゲーションを収納し、パネルの開閉を明示するハンバーガーメニューを作ってみようと思います\\\٩( ‘ω’ )و ////

コメントを残す

メールアドレスは公開されません。* は必須項目です。

CAPTCHA