问题
I want to set the order id on the very left and set the rest of the two to the very right of the div. The total and view elements should have equal space between them but should be to the right. justify-content:space-between sets equal space in between them and flex-grow or shrink is not working in my case. Am i doing something wrong? please help.
<div layout="row" layout-align="space-between" class="orders-table-header">
<p class="orders-table-text text-center" style="flex-shrink:2">ORDER ID</p>
<p class="orders-table-text text-center" style="flex-grow:1">TOTAL</p>
<p class="orders-table-text text-center" style="flex-grow:1">VIEW</p>
</div>
回答1:
You can't split into 66%+33%+33% ,You could give flex 2+1+1
.text-center {
text-align:center;
}
<div layout="row" layout-align="space-between" class="orders-table-header" style="display: flex;">
<p class="orders-table-text text-center" style="flex: 2;background-color: aquamarine;">ORDER ID</p>
<p class="orders-table-text text-center" style="flex: 1;background-color: bisque;">TOTAL</p>
<p class="orders-table-text text-center" style="flex: 1;background-color: coral;">VIEW</p>
</div>
回答2:
Try to use margin on flex items to align them left and right
div {
display: flex;
}
.orders-table-text {
border: 1px solid red;
}
.orders-table-text.right {
margin-left: auto;
}
.orders-table-text.left {
margin-right: auto;
}
<div layout="row" layout-align="space-between" class="orders-table-header">
<p class="orders-table-text text-center left">ORDER ID</p>
<p class="orders-table-text text-center right">TOTAL</p>
<p class="orders-table-text text-center right">VIEW</p>
</div>
回答3:
If you wrap your two right items into a div, justify-content: space-between will work as you are expecting:
.orders-table-header {
display: flex;
justify-content: space-between;
}
.orders-table-text {
border: 1px solid red;
}
.right {
display: flex;
}
<div layout="row" layout-align="space-between" class="orders-table-header">
<div>
<p class="orders-table-text text-center left">ORDER ID</p>
</div>
<div class="right">
<p class="orders-table-text text-center right">TOTAL</p>
<p class="orders-table-text text-center right">VIEW</p>
</div>
</div>
来源:https://stackoverflow.com/questions/49400113/how-to-set-66-area-to-one-element-and-33-and-33-to-the-other-two-elements-usi