移动端优先:个人网站适配手机的几条经验
超过一半的访客来自手机,个人网站不做好移动端适配,等于把一半人挡在门外。以下是这次建站用到的几条经验。
1. 先写桌面,再用媒体查询收窄
基础样式按桌面写,然后在断点处逐步"降级":
/* 桌面:三列网格 */
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
/* 平板:两列 */
@media (max-width: 860px) {
.card-grid { grid-template-columns: repeat(2, 1fr); }
}
/* 手机:单列 */
@media (max-width: 520px) {
.card-grid { grid-template-columns: 1fr; }
}
2. 导航:汉堡菜单
桌面导航横向排列,768px 以下隐藏、换成汉堡按钮:
.nav-toggle { display: none; }
@media (max-width: 768px) {
.nav-toggle { display: flex; }
.nav-links { display: none; } /* 默认收起 */
.nav-links.open { display: flex; } /* 点击展开 */
}
JS 里只需切换 open 类,顺带把按钮三条横线变成叉号。
3. 触控目标 ≥ 44px
苹果和谷歌都建议可点击区域不小于 44×44px。按钮、输入框都加了 min-height: 44px,防止手指点不准。
4. 双栏工具在手机上改上下堆叠
Markdown 预览工具桌面是左右分栏,手机上改成上下:
.tool-md { grid-template-columns: 1fr 1fr; } /* 桌面双栏 */
@media (max-width: 768px) {
.tool-md { grid-template-columns: 1fr; } /* 手机单栏 */
}
5. 别忘了这三件事
<meta name="viewport" content="width=device-width, initial-scale=1.0">——没有它一切白搭- 表单按钮在窄屏下
width: 100%,避免被键盘顶得歪七扭八 - 聊天窗口这类"容器内滚动"的区域,
-webkit-overflow-scrolling: touch让滚动更跟手
总结:响应式不是"少做"桌面功能,而是为拇指和窄屏重新排版。