Everyone should know that the <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
attribute is used to realize the overflow display of ellipsis (...) in a single line of text. Of course, some browsers also need to add the width<a href="http://www.php.cn/wiki/835.html" target="_blank">width</a>
attribute.
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
But this attribute does not support multi-line text overflow The ellipses are displayed. Here we introduce several methods to achieve this effect based on the applicationscenario.
The page implementation in WebKit browser or mobile terminal (most browsers with WebKit core) is relatively simple, and you can directly use WebKit's CSS extension Property (WebKit is a private property)-webkit-line-clamp
; Note: This is an unsupported WebKit property, which does not appear in the CSS specification draft.
-webkit-line-clamp
Used to limit the number of lines of text displayed in a block element. In order to achieve this effect, it needs to be combined with other WebKit properties.
Common combination attributes:
<a href="http://www.php.cn/wiki/927.html" target="_blank">display</a>: -webkit-box;
Attributes that must be combined, objectDisplayed as elastic scalingBox model.
-webkit-box-orient
Attributes that must be combined to set or retrieve the arrangement of the child elements of the flex box object.
text-overflow: ellipsis;
, can be used in the case of multi-line text, use the ellipsis "..." to hide the text that exceeds the range.
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; }
Note a few points here:
line-height Times;
content content, so to be compatible with IE6-7, you can add a tag to the content, such as
... span>To simulate;
::after with
:after;
js to simulate according to the above ideas. The implementation is also very simple. I recommend a few to do similar work. Mature little tool:
1.Clamp.jsDownload and document address: http://www.php.cn/It is also very simple to use :
var module = document.getElementById("clamp-this-module"); $clamp(module, {clamp: 3});
$(document).ready(function() { $("#wrapper").dotdotdot({ //configuration goes here }); });
The above is the detailed content of Multi-line text overflow displays ellipses (…). For more information, please follow other related articles on the PHP Chinese website!