html文字兩行后,就用省略號代替剩下的
一、總結
一句話總結:
實現原理很簡單,將box的高度設置為行高的兩倍,超出之后隱藏,這樣就只有兩行了,然后再用after屬性絕對定位在第二行后面加幾個點 ...
.style2{ position:relative; line-height:21px; height:42px; /*height是line-height的整數倍,防止文字顯示不全*/ overflow:hidden; } .style2::after { background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0); bottom: 0; content: "..."; padding: 0 5px 1px 30px; position: absolute; right: 0; }
1、一行截斷效果?
注意設置寬高,剩下的就是記住用white-space(不換行),overflow(超出部分隱藏),text-overflow(隱藏使用的替代符號)
.font_cut{ width: 100%; white-space:nowrap; overflow:hidden; text-overflow: ellipsis; }
2、after屬性里面如何指定內容?
content: "...";
.style2::after { background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0); bottom: 0; content: "..."; padding: 0 5px 1px 30px; position: absolute; right: 0; }
3、after屬性里面可以絕對定位么?
可以,操作after屬性就和操作普通樣式一樣
.style2::after { background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0); bottom: 0; content: "..."; padding: 0 5px 1px 30px; position: absolute; right: 0; }
二、html文字兩行后,就用省略號代替
1、效果圖
2、代碼
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style> 7 .font_cut{ 8 width: 100%; 9 white-space:nowrap; 10 overflow:hidden; 11 text-overflow: ellipsis; 12 } 13 .style2{ 14 position:relative; 15 line-height:21px; 16 height:42px; /*height是line-height的整數倍,防止文字顯示不全*/ 17 overflow:hidden; 18 } 19 .style2::after { 20 background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0); 21 bottom: 0; 22 content: "..."; 23 padding: 0 5px 1px 30px; 24 position: absolute; 25 right: 0; 26 } 27 28 </style> 29 30 31 </head> 32 <body> 33 <div class="font_cut" style="width: 300px;"> 34 <span>一行顯示不下,就用省略號代替;一行顯示不下,就用省略號代替;一行顯示不下,就用省略號代替;一行顯示不下,就用省略號代替;一行顯示不下,就用省略號代替;一行顯示不下,就用省略號代替;</span> 35 </div> 36 <div style="margin-bottom: 60px;"></div> 37 <div class="style2" style="width: 300px;"> 38 <span style="" class="">HTML文字超過兩行以后 就用省略號顯示代替;HTML文字超過兩行以后 就用省略號顯示代替;HTML文字超過兩行以后 就用省略號顯示代替;HTML文字超過兩行以后 就用省略號顯示代替;HTML文字超過兩行以后 就用省略號顯示代替;HTML文字超過兩行以后 就用省略號顯示代替;</span> 39 </div> 40 </body> 41 </html>
三、html文字超出兩行,則顯示省略號
轉自或參考:html文字超出兩行,則顯示省略號
https://blog.csdn.net/camillezj/article/details/52767267
多行超出顯示省略號
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2; //2行
-webkit-box-orient: vertical;
注意:-webkit-line-clamp是一個 不規范的屬性(unsupported WebKit property),它沒有出現在 CSS 規范草案中。只適用於WebKit內核的瀏覽器,因此firebox、ie等並不支持該屬性。
其他瀏覽器做法:
比較靠譜簡單的做法就是設置相對定位的容器高度,用包含省略號(…)的元素模擬實現:
文字容器樣式設置:
position:relative;
line-height:1.4em;
height:4.2em; //height是line-height的整數倍,防止文字顯示不全
overflow:hidden;
文字容器::after {
background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0);
bottom: 0;
content: "...";
padding: 0 5px 1px 30px;
position: absolute;
right: 0;
}
或者使用插件:js插件-Clamp.js 、 jquery插件-jQuery.dotdotdot
單行不換行:width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;