Summary

The padding property sets the padding space on all sides of an element. The padding area is the space between the content of the element and its border. Negative values are not allowed.

The padding property is a shorthand to avoid setting each side separately (padding-top, padding-right, padding-bottom, padding-left).

  • Initial value the concatenation of the initial values of its longhand properties:
    • padding-bottom: 0
    • padding-left: 0
    • padding-right: 0
    • padding-top: 0
  • Applies to all elements except table-row-group, table-header-group, table-footer-group, table-row, table-column-group and table-column. It also applies to ::first-letter.
  • Inherited no
  • Percentages refer to the width of the containing block
  • Media visual
  • Computed value as each of the properties of the shorthand:
    • padding-bottom: the percentage as specified or the absolute length
    • padding-left: the percentage as specified or the absolute length
    • padding-right: the percentage as specified or the absolute length
    • padding-top: the percentage as specified or the absolute length
  • Animatable yes, as a length
  • Canonical order the unique non-ambiguous order defined by the formal grammar

Syntax

/* Apply to all four sides */
padding: 1em;

/* vertical | horizontal */
padding: 5% 10%;

/* top | horizontal | bottom */
padding: 1em 2em 2em; 

/* top | right | bottom | left */
padding: 2px 1em 0 1em;

/* Global values */
padding: inherit;
padding: initial;
padding: unset;

Values

Specifies one, two, three or four of the following values:

<length>
Specifies a non-negative fixed width. See <length> for details.
<percentage>
With respect to the width of the containing block.
  • One single value applies to all 4 sides
  • Two values apply to 1. top and bottom and 2. to the left and right side
  • Three values apply to 1. top, 2. right and left and 3. to the bottom side
  • Four values apply to 1. top, 2. right, 3. bottom and 4. to the left side

Formal syntax

[ <length> | <percentage> ]{1,4}

Examples

 padding: 5%;                /* on all sides 5% padding */
 padding: 10px;              /* on all sides 10px padding */
 padding: 10px 20px;         /*  top and bottom 10px padding  */
                             /*  left and right 20px padding  */
 padding: 10px 3% 20px;      /*  top 10px padding          */
                             /*  left and right 3% padding */
                             /*  bottom 20px padding       */
 padding: 1em 3px 30px 5px;  /*  top    1em  padding  */
                             /*  right  3px  padding  */
                             /*  bottom 30px padding  */
                             /*  left   5px  padding  */

border:outset; padding:5% 1em;

Live Sample

HTML

<h4>Hello world!</h4>
<h3>The padding is different in this line.</h3>

CSS

h4{
  background-color: green;
  padding: 50px 20px 20px 50px;
}

h3{
  background-color: blue;
  padding: 400px 50px 50px 400px;
}

Live Sample Link

Specifications

Specification Status Comment
CSS Basic Box Model
The definition of 'padding' in that specification.
Working Draft No change.
CSS Level 2 (Revision 1)
The definition of 'padding-top' in that specification.
Recommendation No change.
CSS Level 1
The definition of 'padding' in that specification.
Recommendation Initial definition.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 1.0 1.0 (1.0) 4.0 3.5 1.0 (85)
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ? ? ? ? ?

See also