FeedPeek

小红书主页网格原理:双列瀑布流详解

Instagram 的主页网格很容易想明白:三列、格子大小一致、每行从左到右填满。小红书表面上看起来很像——一面缩略图墙——但它遵循的是一套完全不同的排版算法,而大多数为 Instagram 写的规划建议,在它面前都会悄悄失效。我们在一个预览引擎里实现了小红书的排版规则,所以这篇指南,就是我们当初希望早点存在的那份讲解:瀑布流究竟是怎么放置你的封面的,以及当你规划主页时,这意味着什么。

它是瀑布流,不是网格

小红书的主页是一个双列瀑布流(masonry)排版。三条规则在支配它:

  1. 恰好只有两列。
  2. 每张封面都按它的真实比例显示——没有统一裁切,所以一张高的 3:4 封面做成高卡片,一张方形封面做成矮卡片。
  3. 每张新卡片都会被追加到当前较短的那一列。

改变一切的,是第 3 条规则。在 Instagram 上,网格里的位置纯粹由发布顺序决定:第 5 条帖子就坐在一个固定的格子里(置顶帖另算)。在小红书上,一张卡片的位置取决于在它之前放置的所有内容的高度。同一组笔记、同样的顺序,可能仅仅因为封面比例不同,就产生一个左重或右重的页面。这里根本没有「行」——只有两条各自独立、争相向下奔跑的栈。

最新的在前,落在左上

排序是最新的在最上:你最近的一条笔记被最先放置,进入页面顶部,更旧的笔记往下填。后果是,每一条新帖都会把它下方的视觉配对重新洗牌。一张新卡片占据较短的那一列,这就改变了对下一张卡片而言哪一列更短,而这份位移会一路向下级联。昨天还并排坐着的两张封面,今天可能落到同一列里——不是因为有什么东西被移动了,而是因为上游的一张新卡片,改变了它后面所有内容所依据的列高。如果你曾经精心把两张封面排得挨在一起,却眼睁睁看着这份配对在多发一条帖之后就散掉了,这就是原因。

为什么你的两列看起来不齐

我们常常看到一个问题:「我的左列比右列长——我的主页是不是坏了?」没有。底部参差不齐,正是瀑布流正确渲染的样子。补进较短列的逻辑会让两列大致保持平衡,但它没法让它们相等:卡片高度各不相同,所以总有一列几乎比另一列收尾得更低,而这个差距最多可以达到大约一张卡片的高度。

当你帖子很少时,这个效果会被放大。只有四条笔记时,单单一张高封面就占了它那一列总高度里很大的比例,于是失衡格外刺眼;而有四十条笔记时,同样的差距在一个长页面的底部根本看不出来。新账号最担心这个,却最不需要担心——它会随着你不断发帖而淡去。

对规划的影响

一旦你把放置规则内化了,几个实用的推论就随之而来:

看看你自己的瀑布流

这一切,看一眼远比在脑子里算要容易得多,这正是我们做这个预览器的原因。 FeedPeek 工具实现了上面描述的同一套补进较短列的放置规则——两列、真实的封面高度、固定页脚、最新的在前——所以它渲染出的页面,就是你主页将会显示的页面。把你打算发的封面拖进去,拖成另一种顺序,看着两列重新流动;测试一个「要是我先发那张高的会怎样?」的问题只要几秒钟,而不必做一次发了又后悔的实验。

而既然封面比例是整套排版所依据的输入,那就把这篇和 小红书封面尺寸指南搭配着看——主动而审慎地选择你的比例,是瀑布流所能提供的、最接近于「掌控它」的方式。

用你自己的照片试试——免费,就在浏览器里:

打开 FeedPeek 预览工具
在 App Store 下载 FeedPeek