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

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

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

1.右側文字是多少就是多寬,左側默認佔據剩餘的全部空間。
圖片描述flex

2.右側文字是多少就是多寬,和1同樣。左側文字很長很長溢出省略。
圖片描述spa

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

圖片描述

你們根據須要能夠實現不一樣需求的效果了。設計需求總結:左側寬度自動增加,右側寬度自動增加而且不可溢出省略。當左側文字長度超出的時候,左側文字溢出省略。效果以下:

圖片描述

相關文章
相關標籤/搜索