MODULE 06 / LESSON 01
网格与容器:先建立骨架
用列、沟槽、边距和最大宽度组织界面。
先理解这个概念
网格提供共享的对齐规则,容器限制内容扩张,沟槽分隔列,外边距提供边界。十二列只是一种方便组合的选择,简单页面完全可以只有两列或一列。网格应该跟随内容,而不是强迫内容填满所有格子。
网格定义可重复的空间约束。列数只是其中一项,容器最大宽度、列间距和内容最小宽度同样重要。十二列不自动意味着专业;当内容需要稳定阅读宽度时,两列结构可能更合适。网格应帮助组件响应空间变化,而不是把它们固定在某张设计稿坐标上。
网格是布局约束系统,像类型系统约束允许的结构。
记住这三个原则
- 01
先决定内容区域和最大宽度。
- 02
用 Grid 处理二维区域,用 Flex 处理单方向排列。
- 03
在小屏取消不必要的列,保留信息顺序。
实际设计时,分三步做
- STEP 01
确定内容容器是流式还是有限宽,并为正文、导航与辅助区分别写出最小可用空间。
- STEP 02
依据内容关系选择网格:等权集合用均匀列,正文加目录用主次列,比较数据则保留对齐关系。
- STEP 03
逐步缩窄容器,观察第一次出现挤压的位置,在那里改变列数或结构;不要只检查几个设备截图。
一个容易理解的例子
卡片靠绝对定位排列,屏幕宽度变化后互相覆盖。
使用可伸缩网格和最小卡片宽度,空间不足时自动换行。
布局规则比一组固定坐标更能适应真实内容。
.cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
gap: 1.5rem;
}展开看:从场景到设计决定
课程卡片若每张至少需要容纳清楚标题和摘要,可以用具有最小宽度的自动列布局。宽屏显示多列,空间不足时自然减少,手机单列。课程正文则应限制阅读宽度,目录放辅助列。两个页面不必共用列数,但可以共享外边距和间距尺度,从而既一致又适合各自内容。
适用边界与取舍
自动网格不适合所有顺序敏感内容。若阅读顺序或对比关系很重要,应确认视觉排列与 DOM 顺序一致,避免为了填满空白改变含义。
把这个原则用一次
先做一个小判断
为三张功能卡片写一个自适应布局。
再完成一份设计练习
为含标题、筛选和十二张卡片的页面写三条布局约束,不使用“在某型号手机上”作为条件。
不要在任何页面都强行套十二列,也不要把设计稿像素坐标当成实现规格。
继续查阅
本课为原创教学解释。具体平台规则与标准可查阅官方资料。
MDN · CSS layout