CSS grid网格盒子内部h1与p元素间距过大调整无效求助
问题原因
你遇到的间隙是.box-1的Grid布局剩余空间分配规则导致的,并非h1或p元素的margin/padding产生,所以修改子元素的边距属性不会生效。
你的.box-1高度和外层container一致,占满了整个视口高度,作为Grid容器时默认没有设置行排列规则,两个子元素对应的行轨道会被分散排布在垂直空间中,就出现了多余的大间隙。
解决思路
方案1:保留Grid布局,调整容器属性
直接给.box-1添加align-content控制行的垂直对齐,用row-gap自定义两个元素的间距即可:
.box-1{ grid-area: A; justify-content: center; align-items: center; align-content: center; /* 让所有行轨道整体在容器内垂直居中,消除多余间隙 */ row-gap: 8px; /* 按需调整这个数值,就是h1和p之间的间距,不需要间隙可以设为0 */ }
方案2:改用Flex布局更适合单列文本排列
如果你的.box-1内部只是要垂直排列两个居中的文本,用Flex布局逻辑更简单:
.box-1{ grid-area: A; display: flex; /* 替换原有的Grid布局 */ flex-direction: column; justify-content: center; align-items: center; gap: 8px; /* 同样调整这个数值控制间距 */ }
内容的提问来源于stack exchange,提问作者Michael Lazenby
相关产品推荐
相关产品推荐

