メガメニュー

タブ切替メガメニュー

このパーツは、左にタブ、右に内容を表示する2カラム構成のメガメニューです。外枠を display:grid の grid-template-columns:200px 1fr で固定幅のタブ列と可変幅の本体に分け、本体側はさらに repeat(3,1fr) の3カラムで「カテゴリ」「新着」「ブランド」を並べます。

プレビュー

このパーツの使いどころと実装ポイント

このパーツは、左にタブ、右に内容を表示する2カラム構成のメガメニューです。外枠を display:gridgrid-template-columns:200px 1fr で固定幅のタブ列と可変幅の本体に分け、本体側はさらに repeat(3,1fr) の3カラムで「カテゴリ」「新着」「ブランド」を並べます。選択中のタブは is-act クラスで border-left をアクセント色に変え、現在地を示します。

向いている場面

商品カテゴリが多い EC サイトのグローバルナビ、ジャンルの深いメディアのメニュー、サービス種別が多い BtoB サイトなど、大量のリンクを階層立てて見せたい場面に向きます。レディース・メンズのように一次分類をタブ、二次分類を本体に置くと、ユーザーが目的の階層へ素早く到達できます。

カスタマイズと注意点

  • サンプルのタブ切替は見た目のみで、実際にはタブのクリックで本体の内容を差し替える JS が必要です。各タブに対応するパネルを用意し、表示を切り替えます。
  • スマホでは横2カラムが入りません。狭い画面ではタブを上部の横スクロール、本体を縦積みに変えるのが定石です。
  • キーボード操作に対応するなら、タブに role="tab" と矢印キー移動を加えるとアクセシビリティが向上します。

よくある質問

タブをクリックすると右側が切り替わりますか?
このサンプルは見た目だけで、切替動作はJSで実装する必要があります。各タブに対応するパネルを用意し、クリックされたタブのパネルだけを表示する処理を加えると、左タブ連動で右の内容が入れ替わるメニューになります。
スマホではどう表示するのがよいですか?
幅200pxのタブ列と3カラム本体は狭い画面に収まりません。タブを上部の横スクロール帯に、本体カラムを縦積みに切り替えると、小さな画面でもタップで階層をたどれます。