CSS3 Text Effects


CSS3 Text Effects

CSS3 includes several new text features.

In this chapter, you will learn about the following text properties:

  • text-shadow
  • box-shadow
  • text-overflow
  • word-wrap
  • word-break

Browser Support

Property
text-shadow 4.0 10.0 3.5 4.0 9.5
box-shadow 10.0
4.0 -webkit-
9.0 4.0
3.5 -moz-
5.1
3.1 -webkit-
10.5
text-overflow 4.0 6.0 7.0 3.1 11.0
9.0 -o-
word-wrap 23.0 5.5 3.5 6.1 12.1
word-break 4.0 5.5 15.0 3.1 15.0

CSS3 Text Shadows

In CSS3, the text-shadow property applies text shadows.

阴影效果!

You specify the horizontal shadow, vertical shadow, blur distance, and the color of the shadow:

OperaSafariChromeFirefoxInternet Explorer

Example

Add shadow to headings:

h1 { text-shadow: 5px 5px 5px #FF0000; }

Try it Yourself »


CSS3 box-shadow property

In CSS3, the CSS3 box-shadow property applies to box shadows.

Example

div { box-shadow: 10px 10px 5px #888888; }

Try it Yourself »


Next, add color to the shadow

Example

div { box-shadow: 10px 10px grey; }

Try it Yourself »


Next, add a blur effect to the shadow

Example

div { box-shadow: 10px 10px 5px grey; }

Try it Yourself »


You can also add shadow effects to the ::before and ::after pseudo-elements.

Example

#boxshadow { position: relative; box-shadow: 1px 2px 4px rgba(0, 0, 0, .5); padding: 10px; background: white; } #boxshadow img { width: 100%; border: 1px solid #8a4419; border-style: inset; } #boxshadow::after { content: ''; position: absolute; z-index: -1; /* hide shadow behind image */ box-shadow: 0 15px 20px rgba(0, 0, 0, 0.3); width: 70%; left: 15%; /* one half of the remaining 30% */ height: 100px; bottom: 0; }

Try it Yourself »


A special use case of shadows is the card effect

Example

div.card { width: 250px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); text-align: center; }

Text card » Image card »


CSS3 Text Overflow property

The CSS3 text-overflow property specifies how overflowed content should be displayed to the user.

Example

p.test1 { white-space: nowrap; width: 200px; border: 1px solid #000000; overflow: hidden; text-overflow: clip; } p.test2 { white-space: nowrap; width: 200px; border: 1px solid #000000; overflow: hidden; text-overflow: ellipsis; }

Try it Yourself »


CSS3 Line Breaks

If a word is too long to fit within an area, it extends outside.

In CSS3, the word-wrap property allows you to force text to wrap — even if it means splitting a word in the middle.

The CSS code is as follows:

OperaSafariChromeFirefoxInternet Explorer

Example

Allow long text to wrap:

p {word-wrap:break-word;}

Try it Yourself »


CSS3 Word Breaking/Wrapping

The CSS3 word-break property specifies line breaking rules.

The CSS code is as follows:

Example

p.test1 { word-break: keep-all; } p.test2 { word-break: break-all; }

Try it Yourself »


New text properties

Property Description CSS
hanging-punctuation Specifies whether punctuation characters are placed outside the line box. 3
punctuation-trim Specifies whether to trim punctuation characters. 3
text-align-last Sets how the last line or the line immediately before a forced line break is aligned. 3
text-emphasis Applies emphasis marks to the text of an element and the foreground color of the emphasis marks. 3
text-justify Specifies the alignment method used when text-align is set to "justify". 3
text-outline Specifies the outline of the text. 3
text-overflow Specifies what happens when text overflows the containing element. 3
text-shadow Adds shadow to text. 3
text-wrap Specifies the line-breaking rules for text. 3
word-break Specifies the line-breaking rules for non-CJK text. 3
word-wrap Allows long unbreakable words to be broken and wrapped to the next line. 3
other extensions