css - 使宽度为 1fr + 1fr = 2fr(有网格间隙)

标签 css css-grid

让前两列的总宽度与第三列的总宽度相同的正确方法是什么?如果我像这样拆分它们:

.grid {
    display:grid;
    grid-template-columns:1fr 1fr 2fr;
    grid-gap:2em;
}
<div class="grid">
    <div class="small">Col 1</div>
    <div class="small">Col 2</div>
    <div class="large">Col 3</div>
</div>

此处示例:https://codepen.io/shorty2240/pen/baGYoW

Example

我假设我可以在这个网格下面制作另一个网格,具有相同的网格间隙,1fr 1fr,它会排成一行,但显然不会。

我想尽可能避免嵌套前两项,因为实际元素会自动输出这三项,而环绕前两项可能会出现问题。

最佳答案

您应该将网格设置为 4 列宽,并将您的 .large 定义为使用 2 列。

这其实与bootstrap、foundation等流行css框架中column的工作方式是一致的。

网格模板列:1fr 1fr 1fr 1fr;

.large {
  grid-column-start: 3;
  grid-column-end: 5;
}

或者使用任何简写语法来设置 4 列和网格列。

关于css - 使宽度为 1fr + 1fr = 2fr(有网格间隙),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47775556/

相关文章:

css - 使用溢出-x : scroll with justify-content: center hides the earlier blocks

javascript - 如何使用 Javascript 定位标签?

css - 表格网格元素的边距底部不适用

Css-grid:在容器外流血背景

css - 带有水平滚动条和粘性标题的大表格

html - 所有宽度设置为最宽元素的宽度

css - 下拉菜单仅显示一个列表项

javascript - 在 jquery 中旋转图像时需要概念?

html - 无法缩小本地镜像以适应 div

css - 具有固定跨度的框以填充整个列