When laying out the page, it is often encountered that the text content exceeds the box. If you want to realize the overflow of a single line of text to display the ellipsis , everyone should know that use text-overflow: ellipsis attribute, of course, the width attribute also needs to be added to be compatible with some browsing. Next, let’s take a look.
Implementation method:
overflow: hidden; text-overflow:ellipsis; white-space: nowrap;
The effect is as shown:
But this attribute only supports single line The overflow of the text displays the ellipses . What if we want to implement the overflow of multi-line text to display the ellipsis . Next, we will focus on how to display ellipses when multi-line text overflows, as follows.
Implementation method:
display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
The effect is as shown:
Applicable scope:
Due to the use of WebKit’s CSS Extended attributes, this method is suitable for WebKit browsers and mobile terminals;
Note:
1. -webkit-line-clamp is 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. Commonly combined attributes:
2. display: -webkit-box; must be combined to display the object as a flexible box model.
3. -webkit-box-orient must be combined with the attribute to set or retrieve the arrangement of the child elements of the flex box object.
Implementation method:
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%); }
The effect is as shown:
##Applicable scope: This method has a wide range of application, However, ellipses will also appear when the text does not exceed the line. This method can be optimized with js.
Note: 1. Set height to an integer multiple of line-height to prevent excess text from being exposed.
2. Add a gradient background to p::after to prevent only half of the text from being displayed.
3. Since ie6-7 does not display content, you need to add tags to be compatible with ie6-7 (such as: ...); to be compatible with ie8, you need to replace ::after with :after.
The above is the detailed content of How to display ellipses when overflowing single-line text and multi-line text. For more information, please follow other related articles on the PHP Chinese website!