想要實現一個左側文字可以根據文字長短自動調整寬度,當一行顯示不下時,不擠壓右側文字空間,左側文字溢出省略。同理當右側文字變長的時候,右側文字全顯示,左側文字被擠壓後溢出省略的效果。
我說的可能不是很清楚,讓我們看看效果圖吧。
1.右側文字是多少就是多寬,左側默認佔據剩餘的所有空間。
2.右側文字是多少就是多寬,和1一樣。左側文字很長很長溢出省略。
3.左側文字和2一樣,右側文字給他加了兩個right。
下面上樣式:
.footer {
width: 300px;
height: 20px;
display: flex;
overflow: hidden;
}
.left {
background: #3cc8b4;
flex: 1 1 auto;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
min-width: 50px;
}
.right {
background: #9bc;
max-width: 250px;
}
.right-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
<div class="footer">
<div class="left">
leftleftleftleftleftleftleftleftleftleftleftleftleft
</div>
<div class="right">
<div class="right-ellipsis">
rightrightrightrightrightrightrightrightright
</div>
</div>
</div>
代碼中多加了max-width、min-width和叫right-ellipsis的div。來達到如下效果:
大家根據需要可以實現不同需求的效果了。設計需求總結:左側寬度自動增長,右側寬度自動增長並且不可溢出省略。當左側文字長度超出的時候,左側文字溢出省略。效果如下: