Tips
ブレークポイント、768pxと1024pxで大体足りる
2025-11-03
結論:768pxと1024pxの2つでほぼカバー
| ブレークポイント | 対象 |
|---|---|
| 768px | タブレット縦 / スマホ横 |
| 1024px | タブレット横 / 小さいPC |
この2つで9割のケースをカバーできる。3つ以上必要になることは稀。
なぜ768pxなのか
iPadの縦幅が768px。ここで切ると、タブレット以上とスマホを分けられる。
**ただし「iPadに合わせた」わけではない。**768px付近でコンテンツが崩れやすいから。
2カラムレイアウトがこのあたりで窮屈になる。だから切る。
デバイスではなくコンテンツで決める
「iPhone 14に合わせて390pxで切る」→ 来年iPhone 15が出たら古くなる。
コンテンツを見て、崩れる箇所で切る。
確認方法
- DevTools → デバイスモード
- 幅をドラッグで動かす
- 崩れる箇所を見つける
- その幅でブレークポイントを設定
モバイルファーストで書く
/* モバイル(デフォルト) */
.container {
padding: 16px;
}
/* タブレット以上 */
@media (min-width: 768px) {
.container {
padding: 32px;
}
}
/* PC以上 */
@media (min-width: 1024px) {
.container {
padding: 48px;
}
}
min-widthで書く。小さい画面から大きい画面へ拡張していく。
よくある間違い
1pxの罠
/* ❌ 768pxが両方に該当 */
@media (max-width: 768px) { ... }
@media (min-width: 768px) { ... }
/* ✓ 1pxずらす */
@media (max-width: 767px) { ... }
@media (min-width: 768px) { ... }
境界値が重複しないように。
Tailwind CSSのブレークポイント
| prefix | min-width |
|---|---|
| sm | 640px |
| md | 768px |
| lg | 1024px |
| xl | 1280px |
独自に決めるより、フレームワークの規約に従った方が一貫性が保てる。
私がやらかした失敗
「375px、414px、390pxで切る」→ 端末ごとに細かく設定
結果:
- CSSが膨大になる
- 新端末が出るたびに追加
- どの端末で確認すればいいかわからない
**デバイスに合わせると終わりがない。**コンテンツで決めれば、端末が増えても対応不要。
最低限のチェック
| 幅 | 確認すること |
|---|---|
| 320px | 最小幅で崩れないか |
| 768px | タブレット境界 |
| 1024px | PC境界 |
| 1920px | フルHDで余白が広すぎないか |
320pxで崩れなければ、大体のスマホで問題ない。
コンテナクエリ(新しい方法)
画面幅ではなく、親要素の幅で切り替え。
.card-container {
container-type: inline-size;
}
@container (min-width: 400px) {
.card {
display: flex;
}
}
コンポーネント単位で制御できる。2023年以降の主要ブラウザで対応。
サイドバーの有無でカードの見せ方を変えたいときに便利。
まとめ
- 768pxと1024pxの2つでほぼ足りる
- デバイスではなくコンテンツで決める
- 幅をドラッグして崩れる箇所を探す
- モバイルファースト(min-width)で書く
- 境界値の1pxに注意