【发布时间】:2021-06-11 08:35:01
【问题描述】:
想要的结果
蓝色单元格必须填充剩余的水平空间。 下面的视图已通过硬编码到达。
列表和小提琴
<div class="PseudoTable" role="table">
<div class="Key" role="columnheader">A</div>
<div class="Value" role="cell">Value 1</div>
<div class="Key" role="columnheader">AAA</div>
<div class="Value" role="cell">Value 2</div>
<div class="Key" role="columnheader">AAAAA</div>
<div class="Value" role="cell">Value 3</div>
<div class="Key" role="columnheader">AAAAAAA</div>
<div class="Value" role="cell">Value 4</div>
</div>
.PseudoTable {
width: 300px;
display: flex;
flex-wrap: wrap;
gap: 18px 8px;
}
.Key {
background: #FFE082;
}
.Value {
flex-grow: 1;
background: #90CAF9;
}
最明显的解决方案(flex-grow: 1 for .Value)不起作用。
当前显示为:
不可接受的解决方案
请不要更改标记。
在行包装器中包装每个 .Key 和 .Value 对是简单的解决方案,但如果我接受它,我没有问这个问题。多行 flex(和网格)布局概念正在避免行包装器!
【问题讨论】:
-
我的意思是将这一行包装到 div 中,使其成为 flex。 就像 HTML 标记一样,在css中, .PseudoTable {display:block} .d-flex{display: flex;flex-wrap: wrap;gap: 18px 8px;} 希望对你有帮助。AValue 1