做爲前端常常遇到的一個需求。對於一些比較長的文本作限制,不顯示,或者顯示省略號。今天特地整理了一下,作個備忘。css
.class{ width: 400px; white-space: nowrap; //設置文字不換行 overflow: hidden; //這個是設置隱藏的。還有其餘的,例如scroll,是超出固定長度,底部顯示滾動條的。 text-overflow: ellipsis; //這個就是設置直接隱藏掉文字,仍是顯示...的。當前是顯示省略號。直接省略是clip display: inline-block; //根據不一樣標籤display值,有的不用加。 }
超出固定行數。顯示省略號,和上面差很少。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這個屬性消失了。若是是這樣的話,請看下面的解決辦法。vue
// 辦法1。 直接在style裏面寫上 -webkit-box-orient: vertical;就行 //辦法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...)react