CSS3屬性—— line-clamp控制文本行數


說明:

限制在一個塊元素顯示的文本的行數。

-webkit-line-clamp 是一個 不規范的屬性(unsupported WebKit property),它沒有出現在 CSS 規范草案中。

為了實現該效果,它需要組合其他外來的WebKit屬性。常見結合屬性:

  • display: -webkit-box; 必須結合的屬性 ,將對象作為彈性伸縮盒子模型顯示 。
  • -webkit-box-orient 必須結合的屬性 ,設置或檢索伸縮盒對象的子元素的排列方式 。
  • text-overflow,可以用來多行文本的情況下,用省略號“...”隱藏超出范圍的文本 。

今天接到優化需求,帖子列表里的內容要求縮略至3行,並帶‘…’省略號

 

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>cline-clamp</title>
    <style>    
            .box{
                width: 200px;
                height: 300px;
                border:1px solid black;
            }
            p{
                 display: -webkit-box;
                 -webkit-box-orient: vertical;
                  -webkit-line-clamp: 4;            /*設置p元素最大4行,父元素需填寫寬度才明顯*/
                  text-overflow: ellipsis;
                  overflow: hidden;
                 /* autoprefixer: off */
                 -webkit-box-orient: vertical;
                  /* autoprefixer: on */
                  /*因為代碼環境的關系-webkit-box-orient被過濾掉了 autoprefixer 這個關鍵字可以免除被過濾的動作*/
          word-wrap:break-word;
          word-break:break-all;
} </style> 
</head> 
<body> 
<div class="box"> 
    <p> static:對象遵循常規流。top,right,bottom,left等屬性不會被應用。 relative: 對象遵循常規流,並且參照自身在常規流中的位置通過top,right,bottom,left屬性進行偏移時不影響常規流中的任何元素。 absolute:對象脫離常規流,使用top,right,bottom,left等屬性進行絕對定位,
    </p> 
</div> 
</body> 
</html>

 

效果如下:

    

 

 

如果你標簽內的是英文,英文是不會自動換行的,所以你需要讓他自動換行添加如下代碼即可:

word-wrap:break-word;
word-break:break-all;

 

當然也可以使用插件clamp.js

 

 


免責聲明!

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



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