CSS Grid布局:如何让网格项内容顶部对齐?问题解析
CSS Grid网格项顶部对齐问题:原因与解决办法
问题根源
你给网格容器.kb-feature-table-grid设置了align-items: center,这个属性会强制所有网格项在垂直方向(交叉轴)居中对齐。当某列的内容高度比同行其他列矮时,整个网格项就会被垂直居中,这就是你看到顶部留白、内容下移的原因。调整margin和padding没用,是因为这种对齐方式是Grid容器层面的全局控制,和项内部的边距设置无关。
解决方案
把align-items: center替换成align-items: start,这样所有网格项都会在垂直方向顶部对齐,图片自然顶齐,长文本的项会向下延伸,完全符合你的需求。
修改后的CSS代码:
.kb-feature-table-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; align-items: start; /* 关键修改:从center改为start */ max-width: 1000px; margin: 0 auto; padding: 20px; } .kb-feature-table-grid img { width: 100%; height: auto; border-radius: 10px; } @media (max-width: 600px) { .kb-feature-table-grid { grid-template-columns: 1fr; text-align: center; } }
效果说明
修改后,三个网格项的图片会紧贴容器顶部对齐,每个项的文本部分各自向下排列,短文本的项不会再被居中,顶部留白的问题彻底解决。
内容的提问来源于stack exchange,提问作者David Anderson
相关产品推荐
相关产品推荐

