在css flex布局中,当容器设置了display为flex后,子元素默认会沿着主轴排列,而在交叉轴上的对齐行为由align-items控制。很多初学者发现内容没有贴在底部,是因为align-items的默认值是stretch,子项被拉伸填充了容器高度。要让内容对齐底部,最直接的方式是将容器的align-items设为flex-end。

为什么内容没有对齐底部
flex容器有两根轴:主轴和交叉轴。默认情况下flex-direction为row,主轴是水平方向,交叉轴是垂直方向。align-items决定子项在交叉轴上的位置。默认stretch会让子项高度撑满,视觉上不像底部对齐。只有改成flex-end,子项才会靠交叉轴末端排列。
使用align-items flex-end的实现方式
给父容器添加如下样式即可:
.container {
display: flex;
/* 横向排列,交叉轴为垂直方向 */
flex-direction: row;
/* 让子项在垂直方向贴底 */
align-items: flex-end;
height: 200px;
border: 1px solid #ccc;
}
.item {
width: 80px;
background: #f0f0f0;
}
对应的html结构如下:
<div class="container"> <div class="item">内容A</div> <div class="item">内容B</div> </div>
单个子项单独控制
如果只想让某一个子项底部对齐,而其他子项保持默认,可以使用align-self属性覆盖容器的align-items:
.item-bottom {
align-self: flex-end;
}
常见误区
- 把align-items写成justify-content,后者控制主轴对齐,不能解决垂直底部问题。
- 容器本身没有固定高度,子项贴底也看不出效果,需要给容器设height或min-height。
- 使用了flex-wrap且多行时,align-items对每一行都生效,若需整体底部可用align-content。
小结
css flex布局中内容无法对齐底部,核心在于交叉轴对齐方式。将容器align-items设为flex-end是最简单有效的办法,必要时配合height与align-self即可精准控制。
cssflex布局align-items修改时间:2026-07-28 03:27:14