移动优先(mobile first)是指先针对最小的屏幕进行设计和开发,再随着可用空间变大逐步增加布局和功能。在 CSS 中,默认样式就是手机布局,再用 min-width 媒体查询为更宽的屏幕添加多列和额外内容。这种做法迫使你先想清楚什么最重要,通常也能让带宽和屏幕空间最有限的访客得到更轻、更快的页面。
作为设计流程的移动优先
这个理念由设计师 Luke Wroblewski 在 2009 至 2011 年前后推广开来,它首先关乎优先级,其次才是代码。手机屏幕在不滚动的情况下,只放得下一个标题、一句话和一个操作。从这块空间开始设计,你必须决定:
- 页面上最重要的操作是什么
- 哪些内容必不可少,哪些只是装饰
- 只有一列时,内容应该按什么顺序排列
之后再把设计扩展到平板和桌面端时,多出来的空间用于放置辅助内容,而不是补上手机版缺少的东西。从桌面设计起步的团队,往往最后只能压缩和隐藏内容,重要信息就是这样在手机上消失的。
移动优先与桌面优先的 CSS 写法
同一个布局可以从两个方向来写。
桌面优先以宽屏布局为默认,再用 max-width 查询去掉内容:
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
@media (max-width: 1023px) {
.cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
.cards { grid-template-columns: 1fr; gap: 1rem; }
}
移动优先以单列布局为默认,再用 min-width 查询逐步添加:
.cards { display: grid; gap: 1rem; }
@media (min-width: 640px) {
.cards { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
.cards { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
}
移动优先的写法有几个实际好处。在手机上只有基础规则生效,浏览器需要处理的覆盖更少。样式是逐层叠加而不是层层撤销,CSS 更容易读懂。而那些忽略媒体查询的浏览器或邮件客户端,会显示可用的单列布局,而不是被挤压的桌面版。
主流框架也是这个思路:在 Tailwind CSS 和 Bootstrap 中,不带前缀的类适用于所有尺寸,断点前缀表示“从这个宽度起”。
移动优先也关乎性能
网络较差的手机不应该下载只有桌面端才用得上的资源。具体做法:
- 默认提供小图,大图通过
srcset提供 - 地图、视频背景、大型轮播等重型组件只在需要时加载
- 仅桌面端使用的功能,其 JavaScript 不要放进首屏打包文件
Google 以页面的移动版进行索引,所以搜索引擎评估的也是移动端体验。如何衡量效果,请参阅移动端网站速度测试指南。
在实际项目中落地移动优先
- 先写出内容层级。 在做任何视觉设计之前,把页面内容按优先级排成一列。
- 设计 360–390 px 的布局。 目前在用的大多数手机,宽度在 360 到 440 个 CSS 像素之间。
- 在自然断点处扩展。 不断拉宽画布,直到布局开始显得空旷,就在那里加一个断点。常用数值见响应式断点指南。
- 按同样的顺序写 CSS。 先写手机的基础样式,其余用
min-width查询补充。 - 开发过程中就检查手机尺寸,不要留到最后。在 Chrome 里常开一个手机视图会方便很多:可以用 DevTools 的设备模式,也可以用一键开启、切换页面时保持手机外框的 Mobile View Extension。
移动优先的常见错误
- 只在 CSS 里移动优先。 如果设计稿是在桌面端定稿的,CSS 按移动优先写也解决不了内容优先级的问题。
- 把“移动端”当成一种尺寸。 360 px 和 440 px 的手机宽度相差 20%。两种都要测,还要测横屏。
- 隐藏内容而不是重新组织。 如果某块内容不值得在手机上显示,就该想想它是否值得显示。
- 忘了大屏幕上的触控。 平板和触屏笔记本显示桌面布局,但没有悬停。仅限鼠标悬停的效果请放在
@media (hover: hover)里。 - 移动优先,桌面最后。 宽屏同样需要照顾:过长的文本行和被拉伸的图片,是同一流程在桌面端的失败。
常见问题
移动优先和响应式设计有什么区别?
响应式设计是目标:一个能适配所有屏幕的网站。移动优先是实现这个目标的一种方法,从最小的屏幕开始。详见什么是响应式网页设计。
媒体查询应该一律用 min-width 吗?
大多数布局是这样。max-width 查询仍适合处理小的例外,比如只在某个宽度以下生效的调整。
2026 年移动优先还有意义吗?
有。对大多数网站来说,手机贡献了很大一部分流量,而且 Google 以页面的移动版进行索引。从移动端开始,能避免这部分访客看到一个缩水版的网站。