设计是元素之间的关系
平面设计的老话:设计不只是元素长什么样,更是它们之间留了多少空白。
间距和留白定义了信息的组织形式。一个段落和下一个段落之间的空白,比它们各自的文字更能暗示"这是一个完整的思想单元"。
24 级间距标度
幻梦定义了一组间距变量,从 4px 到 96px:
$s1: 0.25rem; // 4px 微调间距
$s2: 0.5rem; // 8px 紧密相关元素
$s3: 0.75rem; // 12px 卡片内边距(小)
$s4: 1rem; // 16px 标准间距
$s5: 1.25rem; // 20px 段落间距
$s6: 1.5rem; // 24px 卡片内边距(标准)
$s8: 2rem; // 32px 区块间距
$s10: 2.5rem; // 40px 大区块间距
$s12: 3rem; // 48px 章节间距
$s16: 4rem; // 64px 页面区域间距
$s20: 5rem; // 80px 首页 Hero 间距
$s24: 6rem; // 96px 页面顶部/底部留白
递增采用 4px 基础单位,配合 rem 实现与字体大小的比例缩放。
间距的三条规则
1. 亲密性
相关的元素靠得更近。文章标题和正文之间的间距应该小于两个不同文章之间的间距。
.article-header h1 { margin-bottom: var(--s2); } /* 标题与元信息 8px */
.article-header .meta { margin-bottom: var(--s5); } /* 元信息与正文 20px */
2. 一致性
同一层级的间距在整个页面中保持一致。所有卡片的内部 padding 都是 var(--s6) (24px)。所有主要区块之间的间距都是 var(--s8) (32px)。
3. 呼吸
大留白创造高级感。首页 Hero 的标题和描述之间的留白比文章内部的留白更大——奢侈的空白传递"这里重要"的信号。
移动端的留白
@media (max-width: 575px) {
:root {
--section-spacing: var(--s8); /* 移动端缩小间距 */
}
}
@media (min-width: 768px) {
:root {
--section-spacing: var(--s12); /* 桌面端扩大间距 */
}
}
移动端屏幕空间宝贵,留白缩小;桌面端空间充裕,留白扩大。
留白不只是 empty space
好的留白让内容被看见。没有留白,所有信息争夺注意力,最终什么也看不见。
幻梦的设计中有意识地使用大量留白——标签云中标签之间的间距、侧边栏部件之间的间隔、文章段落之间的空白。这些空白的总和决定了页面的"呼吸感"。
有一种设计叫"拥挤的设计"——把所有元素挤在一起,害怕浪费任何像素。好的设计不怕空白。
评论