在鸿蒙的弹性布局世界里,子元素可是相当有 "个性" 的,通过 alignSelf 属性,它们能给自己定制在父容器交叉轴上的对齐方式,而且这个设置特别 "强势",会直接盖过 Flex 布局容器里 alignItems 的配置哦。
\
你瞧下面这段代码:
在这个例子里,Flex 容器一开始就通过 alignItems 发话了,想让所有子元素在交叉轴方向乖乖居中。但是呢,有些 "调皮" 的子元素不干,它们用 alignSelf 给自己谋 "特权"。像 "alignSelf Start" 这个 Text 元素,通过 alignSelf (ItemAlign.Start),不管容器怎么要求,它都自顾自地往交叉轴的起始位置跑去;设置了 alignSelf (ItemAlign.Baseline) 的文本元素,也是执着地按文本基线对齐。只有那些没设置 alignSelf 的 "no alignSelf" 元素,才老老实实遵循容器的居中设定。
\
所以说,alignSelf 就像是子元素手里的一张 "任性卡",要是它被启用,子元素就能按自己的想法,在交叉轴上站出不一样的姿态,让整个布局在统一之中,又多了几分灵动和变化。
PS:实际项目中如有出入,请告知博主,博主会第一时间修改得哇 ~