显示网格-背景在右侧有白色缝隙

时间:2018-10-31 16:44:53

标签: css grid

.parent{
display:grid;
grid-template-columns:50% 50%;
grid-gap:5px;
width:50%;
height:54px;
background:gold;
}

.left, .right{border:2px solid blue;}
<div class='parent'>
<div class='left'></div>
<div class='right'></div>
</div>

为什么右侧有白色垂直间隙,大约2个像素?

2 个答案:

答案 0 :(得分:2)

用百分比设置网格项目的宽度不会占用grid-gap,因此50%+ 5px + 50%超出了网格的宽度(100%)。

使用fr units而不是百分比来解决此问题:

.parent{
display:grid;
grid-template-columns: 1fr 1fr;
grid-gap:5px;
width:50%;
height:54px;
background:gold;
}

.left, .right{
    border: 1px solid blue;
}
<div class='parent'>
    <div class='left'></div>
    <div class='right'></div>
</div>

答案 1 :(得分:1)

这似乎与grid-gap属性有关。它在不扩展背景的情况下将子元素推向右侧。网格间隙为5像素,白色间隙占3像素,而2像素边界占其余间隙。

最简单的解决方案是将背景设置为子元素。我还没有足够的网格来了解任何特定于网格的解决方案。