大家應該都知道用<a href="http://www.php.cn/wiki/868.html" target="_blank">text-</a><a href="http://www.php.cn/wiki/923.html" target="_blank">overflow</a>:ellipsis
屬性來實作單行文字的溢位顯示省略號(…)。當然部分瀏覽器也需要加寬度<a href="http://www.php.cn/wiki/835.html" target="_blank">width</a>
屬性。
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
但是這個屬性不支援多行文字溢出顯示省略號,這裡根據應用場景介紹幾個方法來實現這樣的效果。
在WebKit瀏覽器或行動端(絕大部分是WebKit核心的瀏覽器)的頁面實作比較簡單,可以直接使用WebKit的CSS擴充屬性(WebKit是私有屬性)-webkit-line-clamp
;注意:這是一個不規範的屬性(unsupported WebKit property),它沒有出現在CSS 規範草案中。
-webkit-line-clamp
用來限制在一個區塊元素顯示的文字的行數。 為了實現該效果,它需要組合其他的WebKit屬性。
常見結合屬性:
<a href="http://www.php.cn/wiki/927.html" target="_blank">display</a>: -webkit-box;
必須結合的屬性,將物件作為彈性伸縮盒子模型顯示。
-webkit-box-orient
必須結合的屬性 ,設定或檢索伸縮盒物件的子元素的排列方式 。
text-overflow: ellipsis;
,可以用來多行文字的情況下,用省略號「…」隱藏超出範圍的文字 。
overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
p { position:relative; line-height:1.4em; /* 3 times the line-height to show 3 lines */ height:4.2em; overflow:hidden; } p::after { content:"..."; font-weight:bold; position:absolute; bottom:0; right:0; padding:0 20px 1px 45px; background:url(http://www.php.cn/) repeat-y; }
的3倍;
內容,所以要相容IE6-7可以是在內容中加入一個標籤,例如用b0482130bb1a3e2b7bb7177a9aa50ca8...d6d448110e0324953b5d7bc1e2b276ce
去模擬;
替換成:after
;
#也可以依照上面的想法去模擬,實作也很簡單,推薦幾個做類似工作的成熟小工具:1.Clamp.js
var module = document.getElementById("clamp-this-module"); $clamp(module, {clamp: 3});
2.
jQuery程式碼:
$(document).ready(function() { $("#wrapper").dotdotdot({ //configuration goes here }); });
以上是多行文字溢位顯示省略號(…)的詳細內容。更多資訊請關注PHP中文網其他相關文章!