[]
        
立即下载
(Showing Draft Content)

弹性布局

观看本节视频

弹性布局是一种布局容器,在容器内可以对子项目进行灵活的排列和对齐,动态分配空间,适应不同的屏幕尺寸和设备。

弹性布局容器可应用于导航栏、卡片布局、表单设计等场景,通过灵活的单元格类型和对齐方式,轻松实现复杂的布局需求。它的主要优势在于:

  • 响应式设计:适应不同屏幕尺寸。

  • 简化代码:减少对浮动和定位的依赖。

  • 高效布局:快速实现复杂的排列和对齐。

设置弹性布局容器

选中弹性布局容器,在属性设置区中选择“单元格设置”标签页,设置说明见下表。

设置

说明

项目排列方向

水平排列:从左到右

水平排列:从右到左

垂直排列:从上到下

垂直排列:从下到上

项目换行

  • 不换行

  • 换行

  • 换行且顺序反转

项目在主轴的对齐方式

主轴是弹性布局容器中项目排列的主要轴线。它是弹性布局容器内定义的一条虚拟直线,项目会沿着这条线进行排列。

  • 向主轴起点对齐(flex-start)

  • 向主轴终点对齐(flex-end)

  • 居中对齐(center)

  • 均匀分布,两端对齐不留白(space-between)

  • 均匀分布,两端留有项目间隔一半的空间(space-around)

  • 均匀分布,每个项目之间的间隔相等(space-evenly)

单行在交叉轴的对齐方式

交叉轴是与主轴垂直的轴线,它与主轴共同构成了弹性布局的二维空间。在确定了主轴方向后,交叉轴的方向也就随之确定。

  • 向交叉轴起点对齐(flex-start)

  • 向交叉轴终点对齐(flex-end)

  • 在交叉轴上居中对齐(center)

  • 拉伸以填充容器

多行在交叉轴的对齐方式

当项目换行选择“换行”时,可以设置此项。包括:

  • 向交叉轴起点对齐(flex-start)

  • 向交叉轴终点对齐(flex-end)

  • 在交叉轴居中对齐(center)

  • 均匀分布,两端对齐不留白(space-between)

  • 均匀分布,两端留有项目间隔一半的空间(space-around)

  • 均匀分布,每个项目之间的间隔相等(space-evenly)

  • 拉伸以填满交叉轴的剩余空间(stretch)

行间距

设置容器中项目的行间距,默认为8,单位为像素。

列间距

设置容器中项目的列间距,默认为8,单位为像素。

容器溢出模式

  • 溢出:容器会扩展直至能够完全显示所有项目。 

  • 滚动:容器中出现滚动条。

  • 剪切:超出容器的项目会被裁减,不显示出来。

容器内边距

设置容器的内边距,包括左、上、右、下,单位为像素。可设置“全部”,快速设置四个方向的内边距。

禁用

设置是否禁用弹性布局容器。勾选“禁用”后,容器内的所有项目均不可以点击,且文字颜色会变灰。

不可见

设置是否隐藏弹性布局容器。勾选“不可见”后,容器将被隐藏。

注释

弹性布局容器单元格的注释,具体可参见单元格基本操作的“新建注释”。

容器的右键菜单

选中弹性布局容器,右击,在右键菜单中可进行如下的操作:

image

操作弹性布局容器

放置项目

在单元格类型列表中,选择一个,将其拖拽到弹性布局容器中。

项目在容器内的布局

选择一个项目,在右侧的单元格设置中,单击“项目在容器内的布局”超链接,打开如下的对话框。

image

设置

说明

对齐方式(align-self)

设置选择项目的对齐方式,默认值为“默认(auto)”,表示继承弹性布局容器的的 对齐方式。可设置与其容器不同的对齐方式。

  • 向交叉轴起点对齐(flex-start)

  • 向交叉轴终点对齐(flex-end)

  • 在交叉轴上居中对齐(center)

  • 拉伸以填充容器

放大比例(flex-grow)

设置项目的放大比例,默认值为0,即如果有剩余空间,不会放大项目。

缩小比例(flex-shrink)

设置项目的缩小比例,默认值为0,即如果空间不足,不会缩小项目。

宽度(像素)

设置当前项目的宽度。

高度(像素)

设置当前项目的高度。

外边距(像素)

设置项目的外边距,包括左、上、右、下,单位为像素。可设置“全部”,快速设置四个方向的外边距。

项目容器的CSS类名

设置运行时包裹当前项目的 div 的 CSS 类名,以调整项目容器的外观。具体可参见使用CSS

调整项目大小及移动项目

选中容器中的项目后,会在项目的右侧、底部和右下角出现控制点,将鼠标悬停到控制点上时,鼠标会变成双向箭头,此时您就可以调整项目的大小。

image

容器中项目的右键菜单

选中自由布局容器中的项目,右击,在右键菜单中可进行如下的操作。

image

其中,前移、后移、移动到最前、移动到最后是用于调整项目排列顺序的操作。

  • 前移:将选定的项目按项目的排序顺序向前移动一个位置。

  • 后移:将选定的项目按项目的排序顺序向后移动一个位置。

  • 移动到最前:将选定的项目移动到项目排序顺序中的第一个位置。

  • 移动到最后:将选定的项目移动到项目排序顺序中的最后一个位置。

image

弹性布局容器使用示例

例如,在页面中有两个按钮设置了单元格权限,只有Administrator和经理角色的用户可以看到并使用这两个按钮。

image

运行后,使用小张登录,小张不是经理角色,可以看到“付款”和“到票”这两个按钮对应的区域显示未空白,页面不美观。

image


使用弹性布局容器,将按钮全部放在容器中,并进行单元格设置,如下图所示。

  • 项目排列方向:水平排列(从左到右)

  • 项目换行:不换行

  • 项目在主轴的对齐方式:靠主轴终点对齐(flex-end)

  • 单行在交叉轴的对齐方式:在交叉轴上居中对齐(center)

image

这样,运行后:

  • 使用小张登录,小张不是经理角色,可以看到页面不显示“付款”和“到票”这两个按钮,页面右侧也没有空白区域。

image

  • 使用小李登录,小李是经理角色,可以看到页面显示“付款”和“到票”这两个按钮,页面右侧也没有空白区域。

image