跳到内容
+

Masonry

Masonry 组件将不同尺寸的内容排列成宽度相同、高度不同的块,并具有可配置的间距。

Masonry 组件维护一个内容块列表,这些内容块具有一致的宽度但不同的高度。内容按行排序。如果一行已经填充了指定数量的列,则下一个项目将开始新的一行,并将其添加到最短的列中,以优化空间利用率。

基本 masonry

一个简单的 Masonry 示例。Masonry 是一个或多个项目的容器。它可以接收任何元素,包括 <div /><img />

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Enter 开始编辑

图片 masonry

此示例演示了 Masonry 组件在图片方面的应用。Masonry 组件按行对其子元素进行排序。如果您想按列对图片进行排序,请查看 ImageList

1
Fern
2
Snacks
3
Mushrooms
4
Tower
5
Sea star
6
Honey
7
Basketball
8
Breakfast
9
Tree
10
Burger
11
Camera
12
Coffee
13
Camping Car
14
Hats
15
Tomato basil
16
Mountain
17
Bike

高度可变的条目

此示例演示了 Masonry 组件在高度可变的条目方面的应用。条目可以移动到其他列,以便遵守始终将条目添加到最短列的规则,从而优化空间利用率。

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容
Enter 开始编辑

列数

此示例演示了如何使用 columns 属性来配置 Masonry 组件的列数。

1
2
3
4
5
6
7
8
9
10
Enter 开始编辑

columns 接受响应式值

1
2
3
4
5
6
7
8
9
10
Enter 开始编辑

间距

此示例演示了如何使用 spacing 属性来配置条目之间的间距。重要的是要注意,提供给 spacing 属性的值会乘以主题的间距字段。

1
2
3
4
5
6
7
8
9
10
Enter 开始编辑

spacing 接受响应式值

1
2
3
4
5
6
7
8
9
10
Enter 开始编辑

顺序

此示例演示了如何使用 sequential 属性来配置顺序。启用 sequential 后,条目将按从左到右的顺序添加,而不是添加到最短的列。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Enter 开始编辑

服务端渲染

此示例演示了 defaultHeightdefaultColumnsdefaultSpacing 的用法,它们用于支持服务端渲染。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Enter 开始编辑

API

请参阅下面的文档,以获得此处提及的组件的所有 props 和类的完整参考。