【发布时间】:2020-07-20 13:41:39
【问题描述】:
我目前有一个带有主容器的简单表(即display: table)。在那个容器中我有一些行(即display: table-row),然后有一些div(即display: table-cell)。
.table {
display: table;
margin-bottom: 50px;
}
.table .table-row {
display: table-row;
}
.table .table-row div {
display: table-cell;
padding: 10px;
border: 1px red solid;
}
<div class="table">
<div class="table-row">
<div>Name</div>
<div>Phone</div>
<div>E-mail</div>
<div>City</div>
<div>Last meal</div>
<div>Number of meals</div>
</div>
<div class="table-row">
<div>John Doe</div>
<div>12 34 56 78 910</div>
<div>mail @mail.com</div>
<div>Moscow</div>
<div>1. June 2020</div>
<div>13</div>
</div>
<div class="table-row">
<div>Roger John Doe</div>
<div>12 34 56 78 910</div>
<div>myothermail @myothermail.com</div>
<div>New York</div>
<div>1. September 2020</div>
<div>102</div>
</div>
<div class="table-row">
<div>Roger Rabbit John Doe</div>
<div>12 34 56 78 910</div>
<div>mymail @mymail.com</div>
<div>London</div>
<div>1. May 2020</div>
<div>55</div>
</div>
</div>
是否可以使用 CSS 网格来实现相同的布局,而不删除包裹每行内容的 div?
我尝试在每一行上定义一个网格。在这种情况下,如果缩小窗口,单元格就会开始折叠,并且不再与下面的单元格对齐。
.row-header,
.row {
display: grid;
grid-auto-columns: 1fr;
grid-auto-flow: column;
font-size: 13px;
justify-content: start;
}
.row-header div,
.row div {
padding: 10px;
border: 1px red solid;
}
<div class="row-header">
<div>Name</div>
<div>Phone</div>
<div>E-mail</div>
<div>City</div>
<div>Last meal</div>
<div>Number of meals</div>
</div>
<div class="row">
<div>John Doe</div>
<div>12 34 56 78 910</div>
<div>mail @mail.com</div>
<div>Moscow</div>
<div>1. June 2020</div>
<div>13</div>
</div>
<div class="row">
<div>Roger John Doe</div>
<div>12 34 56 78 910</div>
<div>myothermail @myothermail.com</div>
<div>New York</div>
<div>1. September 2020</div>
<div>102</div>
</div>
<div class="row">
<div>Roger Rabbit John Doe</div>
<div>12 34 56 78 910</div>
<div>mymail @mymail.com</div>
<div>London</div>
<div>1. May 2020</div>
<div>55</div>
</div>
【问题讨论】:
-
是的,任何类似表格的布局都可以使用css-grid完成,但是你的问题有点含糊;我不太确定你在找什么。你说你让它“有点”工作——也许你可以发布那个半工作的代码,并准确地解释什么不是你认为它会工作的方式?
-
或者只是简要介绍单元格的布局方式。
-
我现在用小提琴更新了我的 OP,你应该可以看到问题所在。
-
我投票决定重新打开这个问题,因为 OP 添加了一个可验证的示例,问题的重点现在很明显。
-
简短的回答是:您已经为每一行定义了一个新的网格。你想要一个包含所有行的大网格。这是一个例子:jsfiddle.net/xof3hdyj -- 当这个问题重新打开时,我会发布一个完整的答案。
标签: css css-grid css-tables