作為前端經常遇到的一個需求。對於一些比較長的文字做限制,不顯示,或者顯示省略號。今天特意整理了一下,做個備忘。
1.超出固定長度顯示…
.class{
width: 400px;
overflow: hidden; //這個是設定隱藏的。還有其他的,例如scroll,是超出固定長度,底部顯示滾動條的。
text-overflow: ellipsis; //這個就是設定直接隱藏掉文字,還是顯示...的。當前是顯示省略號。直接省略是clip
display: inline-block; //根據不同標籤display值,有的不用加。
}
2.超出固定行數顯示…
超出固定行數。顯示省略號,和上面差不多。overflow和text-overflow見上方解釋。
.class{
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2; //這裡就是設定超出幾行隱藏
-webkit-box-orient: vertical;
display:-webkit-box; //根據不同標籤display,有的不用加。或者設定成別的屬性,自己可以隨便試試
}
巨坑提醒(多行隱藏)
有的時候,你按照上面的設定。就是不生效。或者本地生效了,react(或者vue)打包到伺服器上就不生效了。你可以在控制檯看看。是不是-webkit-box-orient這個屬性消失了。如果是這樣的話,請看下面的解決辦法。
// 辦法1。
直接在style裡面寫上 display:-webkit-box;就行
//辦法2
.class{
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
/* autoprefixer: off */ //對,就是加這兩個註釋就行。
-webkit-box-orient: vertical;
/* autoprefixer: on */
display:-webkit-box;
}
不生效的原因。我也不清楚,網上說法也很多。這個英文話題,好像對原因做了 一些探討,感興趣的可以去看看。(https://github.com/postcss/au…)