超過固定寬度(或行數)顯示...(或省略)

做爲前端常常遇到的一個需求。對於一些比較長的文本作限制,不顯示,或者顯示省略號。今天特地整理了一下,作個備忘。css

1.超出固定長度顯示...

.class{
    width: 400px;
    white-space: nowrap;    //設置文字不換行
    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這個屬性消失了。若是是這樣的話,請看下面的解決辦法。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

相關文章
相關標籤/搜索