R后悔药 Rue.js
  • 首页
    • 深度指南
    • 实战例子
    • 快速上手
    • 路由指南
    • 术语表
    • 错误代码参考
  • API
    • 合作伙伴
    • 插件
    • 组件库
    • 工具链
    • Text.js
    • 新闻简报
    • 常见问题
    • 团队
    • 版本发布
    • 社区指南
    • 行为规范
    • 隐私政策
  • 赞助
  • 合作伙伴
设置
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window

Masonry 瀑布流

Masonry 是一个偏布局层的 Rue Design 组件。它不强绑定任何卡片视觉,而是把不同高度的内容块 组织成更紧凑的瀑布流;同时把固定列数、响应式列数、基于最小列宽的 auto-fit,以及 items / renderItem 这几条常见使用路径一次覆盖。

何时使用

  • 内容块高度明显不一致,用 Grid 会留下大面积空白时。
  • 你已经有自己的 card、report、gallery 视觉,只缺一个轻量的瀑布流容器时。
  • 需要在固定列数和自适应列宽之间切换,又不想引入额外的布局依赖时。

推荐用法

# Basic wall

最直接的 children 模式:Masonry 只负责排版,不接管卡片视觉。

signal board

Signal Board

12 live notes

把埋点回放、增长假设和异常备注放进同一列,标题与摘要长度刻意不一致,用来观察瀑布流的自然落差。

growthops
异常阈值回落 17%
新批次实验明天发布
runtime

Runtime Pulse

5 blockers

一张偏技术的摘要卡,正文略长,底部再追加多条 bullet,让卡片高度明显拉开。

vaporbuild
Wasm 产物已切到新入口
渲染范围清理已进回归
本周准备补浏览器探针
studio

Studio Drop

24 assets

适合短摘要和强视觉占位混排,卡片头部只放一个色块也能形成节奏。

visualmotion
封面动画已切入预览站
incident

Incident Brief

P2 recovered

瀑布流常见场景不是图库,而是高度不一的告警、复盘和工作说明。Rue 的 Masonry 更偏这种信息块容器。

recovertimeline
根因已定位到当前路径清理时机
e2e 回归已补
等待发布窗口
release wall

Release Wall

3 trains

内容块越不整齐,越能看出 Masonry 比 Grid 更适合摘要墙和编辑墙。

releasetrain
design 包体积回落 4.1 KB
sidebar 接线待合并
watch list

Watch List

9 probes

再放一张偏短的卡,强调不同高度内容的落位差。

probebrowser
hash router 卸载路径稳定
field notes

Field Notes

14 snippets

当卡片里基础长文本,也有标签和列表时,瀑布流比等高行列更省空间。

notesdocshandoff
记录 swc import 边界
补仓库记忆说明
统一示例 代码片段
launch kit

Launch Kit

Ready to ship

最后一张带按钮的卡片,用来确认操作区和内容区混排时不会把列宽撑坏。

go-livecta
设计页已补充
包导出待发布

# Responsive columns

columns 和 gap 都支持断点对象,适合从移动端单列一路放大到桌面端多列。

signal board

Signal Board

12 live notes

把埋点回放、增长假设和异常备注放进同一列,标题与摘要长度刻意不一致,用来观察瀑布流的自然落差。

growthops
异常阈值回落 17%
新批次实验明天发布
runtime

Runtime Pulse

5 blockers

一张偏技术的摘要卡,正文略长,底部再追加多条 bullet,让卡片高度明显拉开。

vaporbuild
Wasm 产物已切到新入口
渲染范围清理已进回归
本周准备补浏览器探针
studio

Studio Drop

24 assets

适合短摘要和强视觉占位混排,卡片头部只放一个色块也能形成节奏。

visualmotion
封面动画已切入预览站
incident

Incident Brief

P2 recovered

瀑布流常见场景不是图库,而是高度不一的告警、复盘和工作说明。Rue 的 Masonry 更偏这种信息块容器。

recovertimeline
根因已定位到当前路径清理时机
e2e 回归已补
等待发布窗口
release wall

Release Wall

3 trains

内容块越不整齐,越能看出 Masonry 比 Grid 更适合摘要墙和编辑墙。

releasetrain
design 包体积回落 4.1 KB
sidebar 接线待合并
watch list

Watch List

9 probes

再放一张偏短的卡,强调不同高度内容的落位差。

probebrowser
hash router 卸载路径稳定

# Auto fit width

minColumnWidth 让 Masonry 根据容器宽度自动推导列数,更适合未知容器宽度的内容墙。

signal board

Signal Board

12 live notes

把埋点回放、增长假设和异常备注放进同一列,标题与摘要长度刻意不一致,用来观察瀑布流的自然落差。

growthops
异常阈值回落 17%
新批次实验明天发布
runtime

Runtime Pulse

5 blockers

一张偏技术的摘要卡,正文略长,底部再追加多条 bullet,让卡片高度明显拉开。

vaporbuild
Wasm 产物已切到新入口
渲染范围清理已进回归
本周准备补浏览器探针
studio

Studio Drop

24 assets

适合短摘要和强视觉占位混排,卡片头部只放一个色块也能形成节奏。

visualmotion
封面动画已切入预览站
incident

Incident Brief

P2 recovered

瀑布流常见场景不是图库,而是高度不一的告警、复盘和工作说明。Rue 的 Masonry 更偏这种信息块容器。

recovertimeline
根因已定位到当前路径清理时机
e2e 回归已补
等待发布窗口
release wall

Release Wall

3 trains

内容块越不整齐,越能看出 Masonry 比 Grid 更适合摘要墙和编辑墙。

releasetrain
design 包体积回落 4.1 KB
sidebar 接线待合并
watch list

Watch List

9 probes

再放一张偏短的卡,强调不同高度内容的落位差。

probebrowser
hash router 卸载路径稳定
field notes

Field Notes

14 snippets

当卡片里基础长文本,也有标签和列表时,瀑布流比等高行列更省空间。

notesdocshandoff
记录 swc import 边界
补仓库记忆说明
统一示例 代码片段
launch kit

Launch Kit

Ready to ship

最后一张带按钮的卡片,用来确认操作区和内容区混排时不会把列宽撑坏。

go-livecta
设计页已补充
包导出待发布

# Items and renderItem

数据驱动模式适合 release wall、活动 feed 和任何现成列表数据的摘要面板。

runtimeowner · Lin

Render Anchor Cleanup

替换空 renderable 时先走 clear 路径,避免 beforeUnmount / cleanup 漏掉。

renderBetweenrenderAnchorComponent scope
appowner · Qiao

Sidebar Navigation Pass

把设计站条目补充到 layout 分组,减少新组件只能靠手敲 hash 路径访问的问题。

routesidebar
perfowner · Wei

Vapor Size Window

记录体积快照和降幅来源,方便 release note 直接复用。

snapshotchangelogrelease note
docsowner · Mo

Docs Alignment

统一设计页 API 表述,避免同一能力在不同组件里叫法漂移。

api rowspreview copy
compatowner · Yu

Compat Probe

把浏览器态探针补到最小样例,降低只靠 jsdom 误判的概率。

manual probepage fixture

# Custom item shell

itemAs、itemClassName 和 itemStyle 让包装层也能参与语义和视觉控制。

playbook

Ops Handoff

pinned

值班手册、升级路径和短周期回归清单适合做成语义化 article 项。

handoffopschecklist
brief

Design Crit Pack

设计评审素材通常有不同长度的注解,放在 Masonry 里比等高卡片更省空间。

critcopy
template

Release Template

把 changelog、tweet 和站内更新一次打包,常常是一张中等高度的流程卡。

releasesocial
migration

Migration Note

pinned

说明文档往往正文偏长,很适合放在 pinned 卡旁边形成高低错落。

upgraderuntimeguide

# Empty fallback

empty 用来承接无数据状态,避免页面自己额外判断一层 if。

No cards yet

数据回来后会自动切回瀑布流,不需要再包一层条件渲染容器。

API

Masonry 的设计目标是做一个足够轻的布局容器:它只关心列数、间距和 item wrapper,卡片视觉、交互和业务内容继续交给你现成的 Rue 组件或业务样式。

属性说明类型默认值
as指定根节点标签或组件,适合 section、main、aside 等语义容器。any`div`
columns显式指定列数,支持响应式断点对象。number | Partial<Record<Breakpoint, number>>-
gap / gutter统一设置列间距和行间距,支持单值、[columnGap, rowGap] 和响应式值。MasonryGap`16px`
columnGap / rowGap分别覆盖列间距和行间距,优先级高于 gap / gutter。MasonrySpace | ResponsiveValue<MasonrySpace>-
minColumnWidth根据容器宽度自动推导列数,适合内容墙和自适应卡片流。MasonrySpace | ResponsiveValue<MasonrySpace>-
minColumns / maxColumns给 auto-fit 模式加上下限和上限,避免超宽屏列数失控。number | ResponsiveValue<number>-
items / renderItem / itemKey数据驱动模式;itemKey 可传字段名或函数,renderItem 负责渲染每个卡片内容。T[] / (item, index) => any / keyof T | ((item, index) => string | number)-
itemAs指定每个子项包装层的标签或组件。any`div`
itemClassName / itemStyle给每个瀑布项补类名和内联样式,也支持按 item 动态生成。string | ((item, index) => string) / Record<string, any> | ((item, index) => Record<string, any>)-
emptychildren 和 items 都为空时的兜底内容。any-
className / style根容器样式扩展,可以使用 Rue 一贯的类名直连方式。string / Record<string, any>-
页内导航
页内导航
文档
  • 深度指南
  • 实战例子
  • 快速上手
  • 术语表
  • 错误码参照表
关于
  • 常见问题
  • 团队
  • 版本发布
  • 社区指南
生态
  • 插件
  • 组件库
  • 路由指南
  • Text.js
© 2024-2026 Xiangmin Liu
Rue.JS