text-overflow
Quick Summary for text-overflow
The text-overflow CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis (''), or display a custom string.
Code Usage for text-overflow
overflow: hidden; white-space: nowrap; 
More Details for text-overflow

text-overflow

The text-overflow CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis (''), or display a custom string.

The text-overflow property doesn't force an overflow to occur. To make text overflow its container you have to set other CSS properties: overflow and white-space. For example:

overflow: hidden; white-space: nowrap; 

The text-overflow property only affects content that is overflowing a block container element in its inline progression direction (not text overflowing at the bottom of a box, for example).

Syntax

The text-overflow property may be specified using one or two values. If one value is given, it specifies overflow behavior for the end of the line (the right end for left-to-right text, the left end for right-to-left text). If two values are given, the first specifies overflow behavior for the left end of the line, and the second specifies it for the right end of the line.

text-overflow: clip; text-overflow: ellipsis ellipsis; text-overflow: ellipsis " [..]";  /* Global values */ text-overflow: inherit; text-overflow: initial; text-overflow: revert; text-overflow: unset; 
one of the keyword values: clip, ellipsis, fade the function fade(), which is passed a <length> or a <percentage> to control the fade distance a <string>.

Values

clip

The default for this property. This keyword value will truncate the text at the limit of the content area, therefore the truncation can happen in the middle of a character. To clip at the transition between characters you can specify text-overflow as an empty string, if that is supported in your target browsers: text-overflow: '';.

ellipsis

This keyword value will display an ellipsis ('…', U+2026 HORIZONTAL ELLIPSIS) to represent clipped text. The ellipsis is displayed inside the content area, decreasing the amount of text displayed. If there is not enough space to display the ellipsis, it is clipped.

<string>

The <string> to be used to represent clipped text. The string is displayed inside the content area, shortening the size of the displayed text. If there is not enough space to display the string itself, it is clipped.

fade

This keyword clips the overflowing inline content and applies a fade-out effect near the edge of the line box with complete transparency at the edge.

fade( <length> | <percentage> )

This function clips the overflowing inline content and applies a fade-out effect near the edge of the line box with complete transparency at the edge.

The argument determines the distance over which the fade effect is applied. The <percentage> is resolved against the width of the line box. Values lower than 0 are clipped to 0. Values greater than the width of the line box are clipped to the width of the line box.

Formal definition

Initial valueclip
Applies toblock container elements
Inheritedno
Computed valueas specified
Animation typediscrete

Formal syntax

[ clip | ellipsis | <string> ]{1,2}

Examples

One-value syntax

This example shows different values for text-overflow applied to a paragraph, for left-to-right and right-to-left text.

HTML
<div class="ltr">   <h2>Left to right text</h2>   <pre>clip</pre>   <p class="overflow-clip">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>   <pre>ellipsis</pre>   <p class="overflow-ellipsis">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>   <pre>" [..]"</pre>   <p class="overflow-string">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> </div>  <div class="rtl">   <h2>Right to left text</h2>   <pre>clip</pre>   <p class="overflow-clip">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>   <pre>ellipsis</pre>   <p class="overflow-ellipsis">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>   <pre>" [..]"</pre>   <p class="overflow-string">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> </div> 
CSS
p {   width: 200px;   border: 1px solid;   padding: 2px 5px;    /* Both of the following are required for text-overflow */   white-space: nowrap;   overflow: hidden; }  .overflow-clip {   text-overflow: clip; }  .overflow-ellipsis {   text-overflow: ellipsis; }  .overflow-string {   text-overflow: " [..]"; }  body {   display: flex;   justify-content: space-around; }  .ltr > p {   direction: ltr; }  .rtl > p {   direction: rtl; } 
Result

Two-value syntax

This example shows the two-value syntax for text-overflow, where you can define different overflow behavior for the start and end of the text. To show the effect we have to scroll the line so the start of the line is also hidden.

HTML
<pre>clip clip</pre> <p class="overflow-clip-clip">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> <pre>clip ellipsis</pre> <p class="overflow-clip-ellipsis">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> <pre>ellipsis ellipsis</pre> <p class="overflow-ellipsis-ellipsis">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> <pre>ellipsis " [..]"</pre> <p class="overflow-ellipsis-string">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> 
CSS
p {   width: 200px;   border: 1px solid;   padding: 2px 5px;    /* Both of the following are required for text-overflow */   white-space: nowrap;   overflow: scroll; }  .overflow-clip-clip {   text-overflow: clip clip; }  .overflow-clip-ellipsis {   text-overflow: clip ellipsis; }  .overflow-ellipsis-ellipsis {   text-overflow: ellipsis ellipsis; }  .overflow-ellipsis-string {   text-overflow: ellipsis " [..]"; } 
JavaScript
// Scroll each paragraph so the start is also hidden const paras = document.querySelectorAll("p");  for (let para of paras) {   para.scroll(100, 0); } 
Result

Specifications

Specification
CSS Overflow Module Level 3 # text-overflow

A previous version of this interface reached the Candidate Recommendation status. As some not-listed-at-risk features needed to be removed, the spec was demoted to the Working Draft level, explaining why browsers implemented this property unprefixed, though not at the CR state.

See also

Related CSS properties: overflow, white-space CSS properties that control line breaks in words: overflow-wrap, word-break

Last modified: Aug 12, 2021, by MDN contributors

Select your preferred language English (US)DeutschEspañolFrançais日本語Português (do Brasil)中文 (简体) Change language

No Items Found.

Add Comment
Type in a Nick Name here
 
Other Categories in CSS
css
Search CSS
Search CSS by entering your search text above.
Welcome

This is my test area for webdev. I keep a collection of code here, mostly for my reference. Also if i find a good link, i usually add it here and then forget about it. more...

Subscribe to weekly updates about things i have added to the site or thought interesting during the last week.

You could also follow me on twitter or not... does anyone even use twitter anymore?

If you found something useful or like my work, you can buy me a coffee here. Mmm Coffee. ☕

❤️👩‍💻🎮

🪦 2000 - 16 Oct 2022 - Boots
Random Quote
Our brains are wired to find things we are looking for - if your always cynical or waiting for things to go wrong, then your life will reflect that. On the other hand, having a positive outlook on life will bring you joy and provide you with inspiration when you least expect it ☀️🍉🌴
Unknown
Random CSS Property

column-rule-style

The column-rule-style CSS property sets the style of the line drawn between columns in a multi-column layout.
column-rule-style css reference