首頁  >  文章  >  web前端  >  css實作文字溢出省略號的四種方法(附程式碼)

css實作文字溢出省略號的四種方法(附程式碼)

不言
不言轉載
2018-10-15 14:54:193708瀏覽

這篇文章帶給大家的內容是關於css實作文字溢出省略號的四種方法(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

在專案中有涉及實現一行或第幾行後加省略號,在實現第幾行後加省略號的時候,使用的是-webkit-line-clamp、-webkit-box-orient屬性,會出現webpack打包-webkit-box-orient屬性被忽略的情況,這裡記錄下

#1.單行實作文字省略號

/* 这里要显示的设置宽度 */
overflow: hidden;
white-space: nowrap;
/* 文字超出宽度则显示ellipsis省略号 */
text-overflow: ellipsis;
width: 100%;

css實作文字溢出省略號的四種方法(附程式碼)

#2.第幾行實作文字省略號

display: -webkit-box;
-webkit-box-orient: vertical;  /* 设置方向 */
-webkit-line-clamp: 2;  /* 设置超过为省略号的行数 */
overflow: hidden;
  • 使用webpack打包工具時,會忽略這個-webkit-box- orient屬性,這裡修改成下面的寫法就可以了

display: -webkit-box; 
overflow: hidden;
/* autoprefixer: off */
-webkit-box-orient: vertical;
/* autoprefixer: on */
-webkit-line-clamp: 8;
text-overflow: ellipsis;

#3.用js實作字數後加上省略號

if (title.length > 26) {
  title = title.substring(0, 27) + "...";
}

# 4.換行word-break和word-wrap

  • white-space:normal(自動換行),當寫入的文字超過定義的寬度後會自動換行,但當寫入的資料是一堆沒有空格的字元或字母或數字時,超過容器的寬度時就會把容器撐大,不換行

  • ##這時可以用:word -break:break-all;word-wrap:break-word來解決

  • word-break:break-all在超過容器寬度時,若有一個單字很長,則會將單字截斷,分開寫

  • word-wrap:break-word在超過容器寬度時,若有一個單字很長,則會將單字放到下一行,而不對單字進行截斷

word-break : normal | break-all | keep-all

normal :允許在字內換行
break-all : 允許在單字內換行
keep-all : 只能在半角空格或連字符處換行。

word-wrap : normal | break-word
normal : 允許內容頂開指定的容器邊界
break-word : 內容將在邊界內換行。如果需要,詞內換行(word-break)也會發生

以上是css實作文字溢出省略號的四種方法(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除