You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS Grid:能否阻止相邻列随兄弟元素展开而增高?

解决CSS Grid中展开元素导致同行列增高的问题

使用CSS Grid布局时,同一行的网格项默认会被拉伸至该行的最大高度,所以当某个details元素展开时,同行的其他列也会跟着增高。不用拆分HTML结构,只需调整网格项的对齐属性就能解决这个问题:

方案:设置align-self: start

给.item-wrap添加align-self: start,让每个网格项仅占据自身内容所需高度,不再强制拉伸填满整行:

.product-data .item-wrap {
    padding: 8px 12px;
    margin-bottom: 20px;
    border: 1px solid #E2DFCC;
    align-self: start; /* 新增属性 */
}

修改后,任意details元素展开时,同行的其他元素不会被拉高,各自保持自身的高度。

原理说明

Grid布局中,align-self控制单个网格项在垂直方向的对齐方式,默认值stretch会让元素填满所在行的高度。改为start后,元素对齐到网格区域顶部,高度由自身内容决定。

内容的提问来源于stack exchange,提问作者bsod101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 04:11:01