【发布时间】:2020-04-15 15:43:36
【问题描述】:
是否可以让左右列具有相同的宽度而中间列占用剩余空间?我不想设置像grid-template-columns: 20% 60% 20% 这样的百分比,因为并不总是确定这些列的内容是什么。
Flexbox 和表格似乎没有解决这个问题的方法,所以我再次尝试使用网格分数,但没有任何运气。
.grid {
display: grid;
grid-gap: 20px;
grid-template-columns: 1fr auto 1fr;
}
.col-1 {
background-color: #FFCCCC;
white-space: nowrap;
}
.col-2 {
background-color: #CCFFCC;
}
.col-3 {
background-color: #CCCCFF;
white-space: nowrap;
}
<div class="grid">
<div class="col col-1">This is column one</div>
<div class="col col-2">Morbi semper accumsan odio, a interdum nisl dapibus eget. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque placerat urna ut finibus mollis. Morbi risus odio, pulvinar non rutrum nec, lacinia sit amet diam. Sed vitae imperdiet felis, sed gravida tortor. Maecenas a nisl ac leo finibus sollicitudin. Vestibulum non scelerisque odio, vehicula aliquam tortor.</div>
<div class="col col-3">Column 3</div>
</div>
【问题讨论】:
-
像this 使用 flexbox 吗?如果您希望两列的宽度相同,这意味着应用固定宽度或使用百分比,如果宽度小于内容会发生什么?
-
我尝试了您建议的方法,但列应与其内容一样宽。它们不应该更小。
-
列应与其内容一样宽如果一列的内容小于另一列的内容,则它们的大小不能相等,我建议您编辑您的问题并添加你想要的所有规则。
-
没有更多的规则,都在这里:“......左右列的宽度相同,而中间列占据剩余空间”。