在Web開發中,經常會遇到文字長度過長的情況,這時候需要用到文本溢出的解決方案。如果我們想在CSS中限制文字的長度,同時在結尾處添加省略號,該怎么做呢?
我們可以使用CSS的text-overflow
屬性來實現這個效果。下面是CSS的代碼:
.text-ellipsis { overflow: hidden; text-overflow:ellipsis; white-space: nowrap; }
這里使用overflow: hidden;
可以讓文字超出部分隱藏起來。text-overflow: ellipsis;
則表示在文字結尾處添加省略號。最后,white-space: nowrap;
則可以防止文字折行。
但是,這個方法只能在文字只有一行的情況下使用。如果一段文字超過一行,我們需要加一些額外的代碼才能實現。
下面是解決多行文字省略的CSS代碼:
.text-multi-ellipsis { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; /* 行數 */ overflow: hidden; text-overflow: ellipsis; }
這里我們使用CSS3的新特性-flexbox
,來實現多行省略。我們將其設置為一個flexbox
容器,并將容器的方向設置為vertical
。然后使用-webkit-line-clamp
屬性來設置顯示的文本行數,這里設置為3行。最后同樣使用overflow: hidden;
和text-overflow: ellipsis;
來實現結尾省略號。
簡單總結一下,text-overflow
屬性可以讓我們在文字結尾處添加省略號,同時white-space: nowrap;
和line-clamp
可以控制文字在一行或多行的情況下添加省略號。
上一篇模擬翻書效果 css3
下一篇檢測重復css代碼