巧用flex佈局實現左側文字溢出省略,右側文字自適應。

想要實現一個左側文字可以根據文字長短自動調整寬度,當一行顯示不下時,不擠壓右側文字空間,左側文字溢出省略。同理當右側文字變長的時候,右側文字全顯示,左側文字被擠壓後溢出省略的效果。

我說的可能不是很清楚,讓我們看看效果圖吧。

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。來達到如下效果:

圖片描述

大家根據需要可以實現不同需求的效果了。設計需求總結:左側寬度自動增長,右側寬度自動增長並且不可溢出省略。當左側文字長度超出的時候,左側文字溢出省略。效果如下:

圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章