我有两个包含<div>
的行,每行都有display: flex;
,每个行中都包含几个子<div>
项目。在下面的示例中,您可以看到在第一行中有2个项目(绿色的盒子标记为“item”),它们的比例为6/3
。在第二行中有4个项目,它们的比例为2/2/2/3
。
现在,我希望每行中的最后一个项目(具有flex: 3;
)能够完美对齐,除非我添加一个gap: X px;
。
我如何在计算中包含这个gap
,以便具有相同宽度的项目根据它们的flex
属性对齐?
或者在下面的代码片段中以图形方式简化:我如何对齐红色边框?
.flex { height: 50px; display: flex; gap: 20px; // <- 破坏我的布局的罪魁祸首 } .item { background-color: green; outline: 1px solid black; display: flex; justify-content: center; align-items: center; } .item-2 { flex: 2; } .item-3 { flex: 3; } .item-6 { flex: 6; }
<div> <div class="flex"> <div class="item item-6" style="border-right: 2px solid red;">item</div> <div class="item item-3">item</div> </div> <div class="flex"> <div class="item item-2">item</div> <div class="item item-2">item</div> <div class="item item-2" style="border-right: 2px solid red;">item</div> <div class="item item-3">item</div> </div> </div>
多种可能的解决方案之一是在另一个弹性div中包裹一些项目。
请参见下面的代码,其中包含类
flex-item
: