2 回答
TA贡献1909条经验 获得超7个赞
您可以考虑flex-grow:1;flex-basis:0%使用left和right元素,然后text-align在其中对齐内容。我添加了一个额外的包装程序,以仅在文本周围保留背景。
诀窍是通过仅删除中间内容并将其均分为左元素和右元素来计算可用空间。
.container {
margin: 20px 0;
padding-top:10px;
background:linear-gradient(#000,#000) center/5px 100% no-repeat; /*the center*/
}
.row {
background-color: lime;
display: flex;
color: #fff;
}
.item:not(:nth-child(2)) {
flex-basis: 0%;
flex-grow: 1;
}
.item:last-child {
text-align: right;
}
.item span{
background-color: blue;
display:inline-block;
padding: 16px;
height:100%;
box-sizing:border-box;
}
<div class="container">
<div class="row">
<div class="item"><span>left, slightly longer</span></div>
<div class="item"><span>center, this item is much longer</span></div>
<div class="item"><span>right</span></div>
</div>
</div>
您也可以通过使元素保持关闭来执行相同的操作。只需调整文本对齐即可:
.container {
margin: 20px 0;
padding-top:10px;
background:linear-gradient(#000,#000) center/5px 100% no-repeat; /*the center*/
}
.row {
background-color: lime;
display: flex;
color: #fff;
}
.item:not(:nth-child(2)) {
flex-basis: 0%;
flex-grow: 1;
}
.item:first-child {
text-align: right;
}
.item span{
background-color: blue;
display:inline-block;
padding: 16px;
height:100%;
box-sizing:border-box;
}
<div class="container">
<div class="row">
<div class="item"><span>left, slightly longer</span></div>
<div class="item"><span>center, this item is much longer</span></div>
<div class="item"><span>right</span></div>
</div>
</div>
TA贡献1796条经验 获得超4个赞
您能否给flex-grow:1作为商品类别并检查
.item {
background-color: blue;
color: #fff;
padding: 16px;
flex-grow:1;
}
希望这是您要寻找的
- 2 回答
- 0 关注
- 549 浏览
相关问题推荐
添加回答
举报