The height property in CSS defines specifies the content height of boxes and accepts any of the length values. The “content” area is defined as the padding, border, and margin of the element. Negative values like height: -100px are not accepted. The height property does not apply to non-replaced inline elements including table columns and column groups.

.wrap {
  height: auto;    /* auto keyword */

  height: 120px;   /* length values */
  height: 10em;
  height: 0;       /* unit-less length is OK for zero */

  height: 75%;     /* percentage value */

  height: inherit; /* inherited value from parent element */
Check out this Pen!

If the height of the containing block is not specified explicitly, and the element is not absolutely positioned, the value of its height computes to auto (it will be as tall as the content inside it is, or zero if there is no content). If the elements content portion requires more vertical space than available from the value assigned, the elements behavior is defined by the overflow property.

When using the keyword auto, height is calculated based on the elements content area unless explicitly specified. This means a value based on a percentage is still that of the elements content area. Similarly, if the height of the container is set to a percentage value, a child elements percentage height is still based on the content area of that child element.

Height can also be used as an animatable property.

Related Properties

Other Resources

Browser Support

Chrome Safari Firefox Opera IE Android iOS Opera Mobile IE Phone
Any Any Any Any 7+ Any Any 6.0+ 6.0+

IE7 doesn't support "inherit" as a value.


  1. Mikeouwen

    ‘The “content” area is defined as the padding, border and margin of an element’ Is this right?
    I think the content area is defined by width and height properties of an element.

    • Appu
      Permalink to comment#

      Yup, I am also confused by that statement. I think that wrong or needs to be phrased better.

Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in triple backtick fences like this:

  function example() {
    element.innerHTML = "<div>code</div>";

We have a pretty good* newsletter.