三个断点就够了

2026 / 10 / 10#css#响应式#布局

按内容设断点,不按设备

常见错误是照着设备清单写断点:320 / 375 / 414 / 768 / 1024 / 1440……结果是十几个媒体查询,每个只调 2px。

正确做法是把窗口拖窄,看布局在哪一刻开始难看,那个宽度就是断点。

实用的三档

/* 移动优先:默认单栏 */
.shell { display: grid; grid-template-columns: 1fr; }

@media (min-width: 680px) {   /* 平板:两栏 */
  .shell { grid-template-columns: 200px minmax(0, 1fr); }
}

@media (min-width: 1180px) {  /* 桌面:三栏 */
  .shell { grid-template-columns: 200px minmax(0, 1fr) 260px; }
}

三档对应三种"信息量能放多少",而不是三种设备。

能自动就不要写断点

网格用 auto-fit + minmax,卡片会自己决定一行放几个:

.grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

比手写三套 grid-template-columns 稳得多,也不用担心介于断点之间的宽度。

塌陷时要想清楚"谁是次要的"

三栏变单栏不是简单堆叠,而是要做取舍:

栏 小屏处理
左侧导航 折叠成顶部横向标签,或抽屉
主内容 保留,占满宽度
右侧详情 隐藏或移到文末,不要挤在正文前面

最后一条经常做错 —— 侧栏直接掉到正文下面,用户要先划过一整块无关内容。

两个容易漏的验证点

  • 125% / 150% 系统缩放:Windows 上很常见,等效于把视口变窄,很多布局在这里才暴露问题
  • 触摸目标 44px:手机上链接和按钮的可点区域小于这个值会很难点中,尤其在导航里
本文为个人学习记录,可能存在错误或已过时,仅供参考。
← 返回笔记列表