flex布局交叉轴方向对齐方式详解

本文详细解析了Flex布局中align-content和align-items属性的区别与作用。通过实际案例对比,展示了这两个属性如何影响元素在容器中的对齐方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天重新研究了一下flex布局发现了一个一直没有理解透而忽略的问题~

align-content属性和align-items属性的作用和区别?

之前学flex布局时看的是阮一峰大神的博客感觉很不错,今天回过头来研究我发现对于align-content属性和align-items属性作用的解释并不是很清楚(可能是我理解能力太差吧)不过没关系,通过查资料和实践最终领悟了~

先看大神的解释:(直接截图啦



让我最开始懵逼的原因就是两个属性的属性值都和交叉轴的对齐方式有关,然后我就傻傻的分不清了。。。

于是有了以下代码为了看效果图我还是上截图:

看上图下部中间样式表可知我设置了justify-content(主轴方向对齐方式)属性为居中,尚未设置align-items属性(默认为flex-start)和align-content属性,为突出效果设置前三个盒子不同的高。

由最右边的小图可知我给四个小盒子设置了右外边距和下外边距为10px,在图中1/2/3盒子的右边距显示为10px,而盒子4与上面三个盒子的外边距明显不为10px,这是由于flex布局交叉轴方向容器内部 空白空间弹性分配造成的。

下面我们设置一下align-items: flex-end;再看效果图:

可以明显的发现在交叉轴方向盒子像设置的一样向轴末端对齐了,而且处于同一行不同高度的三个盒子在行内的对齐方式变为了盒子底端对齐。两行盒子间仍然没有像预期设置的下边距一样10px。

下面我们加上align-content:center属性:

可以看出四个盒子都处于了容器的中间变为了交叉轴方向juzhong对齐。两行盒子的间距也都变为了10px;

由此过程可以看出:

align-items属性在没有设置align-content属性时控制的是交叉轴方向的对齐方式以及沿主轴每一行元素在此行的对齐方式。

align-content属性是实际上是辅助align-items属性在容器内各元素没有占用空白可用空间时,控制交叉轴方向沿主轴每一行的对齐方式

再补一张图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

衣乌安、

嘿嘿,好心人赏俩钱儿~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值