当前位置: 首页 > news >正文

FlexAlign.SpaceBetween`、`FlexAlign.SpaceAround` 和 `FlexAlign.SpaceEvenly三个属性的区别

在 ArkTS 的 Flex 布局中,FlexAlign.SpaceBetweenFlexAlign.SpaceAroundFlexAlign.SpaceEvenly 是控制子元素在主轴上分布方式的属性,区别如下:


1. FlexAlign.SpaceBetween

  • 效果:子元素均匀分布在主轴上,首尾子元素紧贴容器边缘,中间子元素间距相等。
  • 特点
    • 第一个子元素位于起点,最后一个子元素位于终点。
    • 中间子元素之间的间距 = (容器宽度 - 所有子元素总宽度) / (子元素数量 - 1)。
  • 适用场景:需要子元素两端对齐,中间等距分布。

2. FlexAlign.SpaceAround

  • 效果:子元素周围的间距相等,但子元素之间的间距是两侧间距的 2 倍
  • 特点
    • 每个子元素两侧的间距 = (容器宽度 - 所有子元素总宽度) / (子元素数量 + 1)。
    • 子元素之间的间距 = 2 * 两侧间距。
  • 适用场景:希望子元素周围有均匀的“呼吸空间”。

3. FlexAlign.SpaceEvenly

  • 效果:所有子元素和间距完全均匀分布,包括首尾子元素与容器边缘的间距。
  • 特点
    • 每个子元素之间的间距 = 首尾子元素与容器边缘的间距。
    • 间距 = (容器宽度 - 所有子元素总宽度) / (子元素数量 + 1)。
  • 适用场景:需要所有元素和间距完全平均分布。

可视化对比

假设容器宽度为 400px,3 个子元素各宽 100px

属性首尾间距子元素间距效果示意图
SpaceBetween0(400-300)/2 = 50px[🔵-----🔵-----🔵]
SpaceAround50px100px[🔵–🔵----🔵–]
SpaceEvenly50px50px[🔵----🔵----🔵]

总结

  • SpaceBetween:两端对齐,中间等距。
  • SpaceAround:子元素周围有均匀小间距,中间大间距。
  • SpaceEvenly:所有间距(包括两端)完全相等。

根据布局需求选择:需要两端对齐选 SpaceBetween,需要均匀呼吸感选 SpaceAround,需要完全平均分布选 SpaceEvenly

相关文章:

  • 解决Dify:failed to init dify plugin db问题
  • C - 通讯录2.0(详细解析)
  • AI知识补全(八):多模态大模型是什么?
  • 第4期:重构软件测试体系——生成式AI如何让BUG无所遁形
  • Python包下载路径 Chrome用户数据 修改到非C盘
  • Elasticsearch 搜索高级
  • C#高级:启动、中止一个指定路径的exe程序
  • 六十天Linux从0到项目搭建(第十天)(系统调用 vs 库函数/进程管理的建模/为什么进程管理中需要PCB?/exec 函数/fork原理与行为详解)
  • 【Linux加餐-网络命令】
  • 数仓架构告别「补丁」时代!全新批流一体 Domino 架构终结“批流缝合”
  • vue中使用defineModel简化defineProps和defineEmits的用法
  • Node.js Express 处理静态资源
  • linux 抓图机器资源不足,排查和删除图片文件
  • Java | 基于 ThreadLocal 实现多客户端访问设备的 REST 请求下发
  • 量子计算:开启信息时代新纪元的钥匙
  • 阀门流量控制系统MATLAB仿真PID
  • 从 YOLO11 模型格式导出到TF.js 模型格式 ,环境爬坑,依赖关系已经贴出来了
  • Python中multiprocessing的使用详解
  • git push的时候出现无法访问的解决
  • MinGW下编译ffmpeg源码时生成compile_commands.json
  • 图忆|上海车展40年:中国人的梦中情车有哪些变化(上)
  • 2025五一档新片电影总票房破亿
  • 比黄油年糕热量还高,这个火爆全网的甜品劝你慎吃
  • 俄外长:俄将在不损害伙伴关系前提下发展对美关系
  • 打造沪派水乡的“湿意”,上海正在保护营造一批湿地空间
  • 外交部:美方应在平等、尊重和互惠的基础上同中方开展对话