處理css 處理文字溢出省略的3種方法

css 處理文字溢出省略相關(guān)的樣式

01.單行固定寬度溢出省略

  .text {
    width: 100px;
    white-space:nowrap;       /* 使文本不可換行 */
    overflow:hidden;          /* 隱藏溢出部分 */ 
    text-overflow:ellipsis;   /* 顯示省略符號來代表被隱藏的文本 */
  }

使用scss mixin進(jìn)行封裝

// 單行文本省略  需要確定容器寬度
@mixin single-line-ellipsis($width) {
  width: $width;
  white-space: nowrap; /* 使文本不可換行 */
  overflow: hidden; /* 隱藏溢出部分 */
  text-overflow: ellipsis; /* 顯示省略符號來代表被隱藏的文本 */
}

02.多行固定寬度溢出省略

``-webkit-line-clamp: 2; ` 關(guān)鍵是line-clamp屬性, 從前綴可以看出是webkit內(nèi)核的瀏覽器支持的樣式.

ie之類的瀏覽器是不支持的.

 .text {
    width: 100px;
    word-wrap:break-word;         /* 內(nèi)容存在英語或數(shù)字時強(qiáng)制換行 */
    overflow: hidden;             /* 隱藏溢出部分 */
    text-overflow: ellipsis;      /* 顯示省略符號來代表被隱藏的文本 */
    display: -webkit-box;         /* 將對象作為彈性伸縮盒子模型顯示 */
    -webkit-box-orient: vertical; /* 設(shè)置盒子內(nèi)排列順序?yàn)榭v向 */
    -webkit-line-clamp: 2;        /* 限制塊元素顯示的文本的行數(shù) */
  }

使用scss mixin封裝

// 多行文本固定省略,需要確定行數(shù)和寬度
@mixin multi-line-ellipsis($width, $lineCount) {
  width: $width;
  word-wrap: break-word; /* 內(nèi)容存在英語或數(shù)字時強(qiáng)制換行 */
  overflow: hidden; /* 隱藏溢出部分 */
  text-overflow: ellipsis; /* 顯示省略符號來代表被隱藏的文本 */
  display: -webkit-box; /* 將對象作為彈性伸縮盒子模型顯示 */
  -webkit-box-orient: vertical; /* 設(shè)置盒子內(nèi)排列順序?yàn)榭v向 */
  -webkit-line-clamp: $lineCount; /* 限制塊元素顯示的文本的行數(shù) */
}

03.不定寬溢出省略

很多時候我們都是用flex布局,比如左邊是flex:1,右邊是固定寬度,這樣左邊就是不定寬的

這種情況,首先我們想到的是,用clac計(jì)算一個寬度,但是其實(shí)不是很合適。比如這樣calc(100vw -200px),感覺還會有很多問題

我在網(wǎng)上找到一個方法,就是把flex:1的容器,添加min-width:0,這樣就能生效了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容