Grow your CSS skills. Land your dream job.

text-overflow

Last updated on:

The text-overflow property in CSS deals with situations where text is clipped when it overflows the element's box. It can be clipped (i.e. cut off, hidden), display an ellipsis ('…', Unicode Range Value U+2026) or display an author-defined string (no current browser support for author-defined strings).

.ellipsis {
  text-overflow: ellipsis;

  /* Required for text-overflow to do anything */
  white-space: nowrap;
  overflow: hidden;
}

Note that text-overflow only occurs when the container's overflow property has the value hidden, scroll or auto and white-space: nowrap;.

Text overflow can only happen on block or inline-block level elements, because the element needs to have a width in order to be overflow-ed. The overflow happens in the direction as determined by the direction property or related attributes.

The following demo displays the behavior of the text-overflow property including all the possible values. Browser support varies!

Check out this Pen!

Setting overflow to scroll or auto will display scrollbars to reveal the additional text, while hidden will not. The hidden text can be selected by selecting the ellipses.

Old Stuff

An old version of the spec says you could use an URL to an image for the ellipsis, but it looks as if that was dropped.

There is a two-value syntax, e.g. text-overflow: ellipsis ellipsis;, that would control the overflow on the left and right sides of the same container. I'm not sure how that would be possible to achieve. Perhaps centered text in a too-small container? The new spec says this, as well as defining a string, is "at risk."

I'm not sure where ellipsis-word came from. It's not in the spec or in any other documentation other than on WebPlatform.org.

The text-overflow property used to be shorthand for the combination of text-overflow-mode and text-overflow-ellipsis, but not anymore and those separate properties don't exist.

Related Properties

Other Resources

Browser Support

Chrome Safari Firefox Opera IE Android iOS
25+ 5.1+ 19+ 12.1+ IE8+ 2.1+ 3.2+

Comments

  1. Stefano Vollono
    Permalink to comment#

    I found this bug in my blog. I created this jsfiddle: http://jsfiddle.net/GnKFM/

    Looking online I found this official thread. https://code.google.com/p/chromium/issues/detail?id=133700 – Issue 133700: text-overflow:ellipsis does not handle inline-block subelements correctly. Did you know? Do you know a trick to solve it?

    thanks

  2. Akash
    Permalink to comment#

    I use this code to avoid text-overflow
    .open > .dropdown-menu {
    overflow: auto;
    display: block;
    Text-overflow:ellipsis;
    }

    but still unable to find resule in [xyz...]

    any suggestion

  3. Sum
    Permalink to comment#

    If you have a long string without any white space, text-overflow then works with white-space: normal; too (with default white space)

Leave a Comment

Current day month ye@r *

*May or may not contain any actual "CSS" or "Tricks".