html文字兩行后,就用省略號代替剩下的


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;

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM