#header-mark#
FlexBox 弹性布局
FlexBox是一种基于CSS Flexbox的列表式布局组件,提供了灵活的内容排列方式,可以自动换行和调整元素布局。
底层实现为panel.layout.FlexBox,参数基本一致,参考文档:https://panel.holoviz.org/reference/layouts/FlexBox.html
基本用法
默认情况下,FlexBox使用direction='row'和flex_wrap='wrap',使得元素按行排列并在必要时换行:
列式布局
可以通过设置flex_direction='column'让FlexBox按列排列元素:
元素对齐方式
可以通过align_content、align_items和justify_content控制元素如何在容器中对齐和分布:
API
属性
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| direction | 主轴方向,决定了flex项目放置的方向 | String | row |
| flex_direction | 与direction相同,为了兼容性保留 | String | row |
| align_content | 当交叉轴有多余空间时,如何分配行之间的空间 | String | — |
| align_items | 定义项目在交叉轴上如何对齐 | String | — |
| flex_wrap | 是否允许换行及如何换行 | String | wrap |
| gap | 定义flex项目之间的间距 | String | — |
| justify_content | 定义项目在主轴上的对齐方式 | String | — |
| scroll | 是否启用滚动条 | Boolean | False |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
| change | 当布局内容改变时触发 | Callable |
Slots
| 插槽名 | 说明 |
|---|---|
| default | FlexBox的内容 |
Controls
src/examples/panel_vuepy/layouts/FlexBox