Latest web development tutorials
 

CSS3 Shadow Effects


rgba(0,0,0,0.19) !important;"> Norway

Box Shadow

With CSS3 you can create shadow effects!

Hover over me!

CSS3 Shadow Effects

With CSS3 you can add shadow to text and to elements.

In this chapter you will learn about the following properties:

  • text-shadow
  • box-shadow

Browser Support

The numbers in the table specify the first browser version that fully supports the property.

Numbers followed by -webkit- or -moz- specifies the first version that worked with a prefix.

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

CSS3 Text Shadow

The CSS3 text-shadow property applies shadow to text.

In its simplest use, you only specify the horizontal shadow (2px) and the vertical shadow (2px):

Text shadow effect!

Example

h1 {
    text-shadow: 2px 2px;
}
Try it Yourself »

Next, add a color to the shadow:

Text shadow effect!

Example

h1 {
    text-shadow: 2px 2px red;
}
Try it Yourself »

Then, add a blur effect to the shadow:

Text shadow effect!

Example

h1 {
    text-shadow: 2px 2px 5px red;
}
Try it Yourself »

The following example shows a white text with black shadow:

Text shadow effect!

Example

h1 {
    color: white;
    text-shadow: 2px 2px 4px #000000;
}
Try it Yourself »

The following example shows a red neon glow shadow:

Text shadow effect!

Example

h1 {
    text-shadow: 0 0 3px #FF0000;
}
Try it Yourself »

Multiple Shadows

To add more than one shadow to the text, you can add a comma-separated list of shadows.

The following example shows a red and blue neon glow shadow:

Text shadow effect!

Example

h1 {
    text-shadow: 0 0 3px #FF0000, 0 0 5px #0000FF;
}
Try it Yourself »

The following example shows a white text with black, blue, and darkblue shadow:

Text shadow effect!

Example

h1 {
    color: white;
    text-shadow: 1px 1px 2px black, 0 0 25px blue, 0 0 5px darkblue;
}
Try it Yourself »

CSS3 box-shadow Property

The CSS3 box-shadow property applies shadow to elements.

In its simplest use, you only specify the horizontal shadow and the vertical shadow:

This is a yellow <div> element with a black box-shadow

Example

div {
    box-shadow: 10px 10px;
}
Try it Yourself »

Next, add a color to the shadow:

This is a yellow <div> element with a grey box-shadow

Example

div {
    box-shadow: 10px 10px grey;
}
Try it Yourself »

Next, add a blur effect to the shadow:

This is a yellow <div> element with a blurred, grey box-shadow

Example

div {
    box-shadow: 10px 10px 5px grey;
}
Try it Yourself »

You can also add shadows to the ::before and ::after pseudo-classes, to create an interesting effect:

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 »

Cards

An example of using the box-shadow property to create paper-like cards:

1

January 1, 2016

Norway

Hardanger, Norway

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;
}
Try it (Text Card) » Try it (Image Card) »

Test Yourself with Exercises!

Exercise 1 »  Exercise 2 »  Exercise 3 »  Exercise 4 »  Exercise 5 »


CSS3 Shadow Properties

The following table lists the CSS3 shadow properties:

Property Description
box-shadow Adds one or more shadows to an element
text-shadow Adds one or more shadows to a text