CSS 單行 多行文本溢出顯示省略號


單行文本

overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;

dome1

 

多行文本溢出顯示省略號

<style type="text/css" media="screen">
p {
    width: 300px;
    height: 72px;
    line-height: 36px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

</style>

<p>
    CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號CSS 單行 多行文本溢出顯示省略號
</p>

dome2

適用范圍:
因使用了WebKit的CSS擴展屬性,該方法適用於WebKit瀏覽器及移動端;

注:

  1. -webkit-line-clamp 用來限制在一個塊元素顯示的文本的行數。 為了實現該效果,它需要組合其他的WebKit屬性。
  2. display: -webkit-box; 必須結合的屬性 ,將對象作為彈性伸縮盒子模型顯示 。
  3. -webkit-box-orient 必須結合的屬性 ,設置或檢索伸縮盒對象的子元素的排列方式 。

例如:

p {
    position: relative;
    line-height: 20px;
    max-height: 40px;
    overflow: hidden;
}

p:after {
    content: "...";
    position: absolute;
    bottom: 0;
    right: 0;
    padding-left: 40px;
    background: -webkit-linear-gradient(left, transparent, #fff 55%);
    background: -o-linear-gradient(right, transparent, #fff 55%);
    background: -moz-linear-gradient(right, transparent, #fff 55%);
    background: linear-gradient(to right, transparent, #fff 55%);
}

效果如圖:
dome3
適用范圍:該方法適用范圍廣,但文字未超出行的情況下也會出現省略號,可結合js優化該方法。

注:

  1. 將height設置為line-height的整數倍,防止超出的文字露出。
  2. 給p:after添加漸變背景可避免文字只顯示一半。
  3. 由於ie6-7不顯示content內容,所以要添加標簽兼容ie6-7(如:<span>…<span/>);

 


免責聲明!

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



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