2026.10.05

ノートPC幅だけナビが2行に割れる問題を、中間幅の帯だけを狙うメディアクエリで直す

ノートPC幅だけナビが2行に割れる問題を、中間幅の帯だけを狙うメディアクエリで直す

PCの1440px幅でもスマホの390px幅でも崩れていないのに、ノートPC幅でだけナビが2行に割れる。こうした「中間幅だけの崩れ」は、min-widthとmax-widthで幅の帯を区切り、その帯の中だけナビを詰めるメディアクエリで直せます。この記事では、当社サイトのナビが861〜1180pxでだけ折り返していた問題を、帯を2段に分けて実測しながら解消した手順を紹介します。

背景: 確認した幅では崩れていなかった

当社サイトのヘッダーナビは、860px以下でハンバーガーメニューに切り替わり、861px以上で項目を横一列に並べる作りです。

PC(1440px)とスマホ(390px)の表示は問題ありませんでしたが、ナビ項目にHOMEを足して8項目にしたあと、その間の幅で問題が起きていました。

この帯はちょうど一般的なノートPCやタブレット横向きの幅にあたります。1440pxと390pxだけを見ていると、まず気づけません。

対応1: 861〜1180pxの帯だけを詰める

PC幅の見た目は変えたくないので、全体の指定は触らず、崩れる帯だけに効くメディアクエリを追加しました。

@media (min-width:861px) and (max-width:1180px){
  /* ノートPC幅: 8項目が1行に収まるように詰める(折り返し・右端欠け防止) */
  .nav{padding-left:24px; padding-right:24px}
  .menu{gap:14px; font-size:11px; letter-spacing:.1em}
  .menu li{white-space:nowrap}
  .logo img{height:17px}
}

やったことは4つです。

下限を861pxにしているのは、860px以下がハンバーガーメニューの担当だからです。帯の境界をハンバーガー側のmax-width:860pxとぴったり接するように取ると、どちらの指定も効かない幅が生まれません。

なお当社サイトはトップページ用のインラインCSSと、下層ページ共通のCSSファイルの2か所にナビの指定があるため、同じ指定を両方に入れています。

ハマりポイント: 帯の下端ではまだ18pxはみ出す

対応1を反映して1024pxで確認すると1行に収まっていましたが、帯の下端に近い870px(ハンバーガーに切り替わる直前)で測ると、ナビの右端がまだ18pxはみ出していました。

帯を1つにして「一番狭い幅に合わせて詰める」と、1180px付近では詰めすぎた見た目になります。そこで、もっと狭い861〜960pxの帯を2段目として追加し、そこだけさらに詰めることにしました。

@media (min-width:861px) and (max-width:960px){
  .menu{gap:10px; font-size:10.5px; letter-spacing:.06em}
}

2段目は1段目と同じmin-width:861pxから始まるので、861〜960pxでは両方のメディアクエリが当たり、後に書いた2段目の値が上書きします。余白・nowrap・ロゴの高さは1段目のものがそのまま効いています。

検証: 帯の中と境界の両方を測る

反映後は、帯の中の代表的な幅に加えて、帯の切れ目の幅でも確認しました。

帯を区切る設計では、切れ目の直後の幅が一番危険です。たとえば961pxは「2段目の詰めが外れたのに、まだ十分に広くない」幅なので、ここで1行に収まることを確認して初めて安心できます。

同じ型の崩れ: ボタンが縦に落ちる

同じ日に、製品紹介ページでも中間幅だけの崩れが見つかりました。カードが2列表示のまま幅が狭くなる861〜970px前後で、カードの文章列がApp Store/Google Playのボタン2つ分(266px)より狭くなり、ボタンが縦に落ちていました。1440px・1024px・390pxでは横並びのままです。

こちらも、崩れる帯だけでボタン行をアイコンの下まで広げる指定を足して直しました。

@media (min-width:861px) and (max-width:1000px){
  .pr-card--apps .pr-links{margin-left:-110px}
}

900pxと965pxで横並びになることを実測しています。原因も直し方も、ナビと同じ「中間の帯だけで起きて、帯だけで直す」型でした。

まとめ

固定ヘッダーまわりの小さな改善としては、アンカーリンクが固定ヘッダーに潜る問題をscroll-margin-topで解決する方法も紹介しています。

Webサイトの構築や、こうした細部の設計のご相談は、SERVICESからお気軽にどうぞ。

← TECH-BLOG一覧へ