Grow your CSS skills. Land your dream job.

text-shadow

Last updated on:

p { 
  text-shadow: 1px 1px 1px #000;
}

You can apply multiple text shadows by comma separating

p { 
  text-shadow: 1px 1px 1px #000, 
               3px 3px 5px blue; 
}

The first two values specify the length of the shadow offset. The first value specifies the horizontal distance and the second specifies the vertical distance of the shadow. The third value specifies the blur radius and the last value describes the color of the shadow:

1. value = The X-coordinate
2. value = The Y-coordinate
3. value = The blur radius
4. value = The color of the shadow

Using positive numbers as the first two values ends up with placing the shadow to the right of the text horizontally (first value) and placing the shadow below the text vertically (second value).

The third value, the blur radius, is an optional value which can be specified but don’t have to. It’s the amount of pixels the text is stretched which causes a blur effect. If you don’t use the third value it is treated as if you specified a blur radius of zero.

Also, remember you can use RGBa or HSLa values for the color, for example, a 40% transparency of white:

p { 
  text-shadow: 0px 2px 2px rgba(255, 255, 255, 0.4); 
}

Examples

See the Pen Complex Text Shadow Examples by Chris Coyier (@chriscoyier) on CodePen.

More Information

Browser Support

Chrome Safari Firefox Opera IE Android iOS
2+ 1.1+ 3.5+ 9.5+ 10+ any any

Comments

  1. Permalink to comment#

    Don’t know why, but it only works in android 2.2.2 if i set the 3rd property different of zero.
    Ex.:
    text-shadow: 1px 3px 0 red; /does not work/
    text-shadow: 1px 3px 1px red; /works/

    • Don

      Hi Erik,

      The 0 would also need the px with it as well so text-shadow: 1px 3px 0px red; should work.

Leave a Comment

Posting Code

  • Use Markdown, and it will escape the code for you, like `<div class="cool">`.
  • Use triple-backticks for blocks of code.
    ``` 
    <div>
      <h1>multi-line block of code</h1>
      <span>be cool yo.</span>
    </div>
    ```
  • Otherwise, escape your code, like <code>&lt;div class="cool"&gt;</code>. Markdown is just easier though.

Current ye@r *

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