ヘッダー

スティッキーヘッダー(ハンバーガーメニュー付き)

このパーツは、PCでは横並びのフラットナビ、スマホでは右からスライドするドロワーに切り替わるヘッダーです。 position:fixed で常に画面上部に固定され、スクロールすると is-scrolled クラスが付いて背景が半透明の白とシャドウに変化します。

プレビュー

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

このパーツは、PCでは横並びのフラットナビ、スマホでは右からスライドするドロワーに切り替わるヘッダーです。position:fixedで常に画面上部に固定され、スクロールするとis-scrolledクラスが付いて背景が半透明の白とシャドウに変化します。最初は背景なしで写真の上に重ね、読み進めると視認性を上げるという、ヒーローと相性のよい挙動です。

仕組みのポイント

ナビの切り替えは@media(max-width:720px)で行い、その幅以下ではナビを画面外(right:-280px)に退避し、ハンバーガーボタンでis-openを付けて引き出します。ボタンにはaria-expandedaria-labelが設定され、開閉状態を支援技術に伝えられるようになっています。背後のheader-overlayはドロワーを開いたときに本文を暗くし、タップで閉じるための受け皿です。

向いている場面と注意

  • コーポレートサイトやサービスサイトの共通ヘッダー
  • 1カラムの縦長LPで、常時CTAを上部に置きたいとき

固定ヘッダーは本文の先頭に重なるため、最初のセクションにpadding-topを確保しないと見出しが隠れます。ロゴ文字やリンク文言は実際の項目数に合わせて調整し、ドロワーを開いている間は背面のスクロールを止めると操作が安定します。

このパーツは JavaScript が含まれます。HTML の最後に <script> タグで読み込むか、外部 JS ファイルに切り出してください。

よくある質問

スクロールで背景が変わる境界はどこで決まりますか?
JS側でスクロール量が一定値を超えたときに is-scrolled クラスを付け外しして切り替えています。境界となるスクロール量や、白背景・影の濃さはCSSとJSのしきい値を調整すれば、サイトの雰囲気に合わせて変更できます。
ナビ項目が増えてPCで収まらないときは?
横幅に対して項目が多い場合は、フォントサイズやリンク間のgapを詰めるか、一部をドロップダウンにまとめてください。それでも窮屈なら、ドロワーに切り替わるブレークポイント720pxを引き上げて、早めにハンバーガー表示へ移す方法もあります。