The height CSS property specifies the height of an element. By default, the property defines the height of the content area. If box-sizing is set to border-box, however, it instead determines the height of the border area.

The min-height and max-height properties override height.

Syntax

/* Keyword value */
height: auto;

/* <length> values */
height: 120px;
height: 10em;

/* <percentage> value */
height: 75%;

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

Values

<length>
Defines the height as an absolute value.
<percentage>
Defines the height as a percentage of containing block's height.
border-box 
If present, the preceding <length> or <percentage> is applied to the element's border box.
content-box 
If present, the preceding <length> or <percentage> is applied to the element's content box.
auto
The browser will calculate and select a height for the specified element.
fill
Use the fill-available inline size or fill-available block size, as appropriate to the writing mode.
max-content 
The intrinsic preferred height.
min-content 
The intrinsic minimum height.
available 
The containing block height minus vertical margin, border and padding.
fit-content 
The larger of:
  • the intrinsic minimum height
  • the smaller of the intrinsic preferred height and the available height

Formal syntax

[ <length> | <percentage> ] && [ border-box | content-box ]? | available | min-content | max-content | fit-content | auto

Example

HTML

<div id="taller">I'm 50 pixels tall.</div>
<div id="shorter">I'm 25 pixels tall.</div>
<div id="parent">
  <div id="child">
    I'm half the height of my parent.
  </div>
</div>

CSS

div {
  width: 250px;
  margin-bottom: 5px;
  border: 2px solid blue;
}

#taller {
  height: 50px;
}

#shorter {
  height: 25px;
}

#parent {
  height: 100px;
}

#child {
  height: 50%;
  width: 75%;
}

Result

Accessibility concerns

Ensure that elements set with a height are not truncated and/or do not obscure other content when the page is zoomed to increase text size. 

Specifications

Specification Status Comment
CSS Intrinsic & Extrinsic Sizing Module Level 3
The definition of 'width' in that specification.
Working Draft Added the max-content, min-content, available, fit-content keywords.
CSS Transitions
The definition of 'height' in that specification.
Working Draft Lists height as animatable.
CSS Level 2 (Revision 1)
The definition of 'height' in that specification.
Recommendation Adds support for the <length> values and precises on which element it applies to.
CSS Level 1
The definition of 'height' in that specification.
Recommendation Initial definition.

Initial valueauto
Applies toall elements but non-replaced inline elements, table columns, and column groups
Inheritedno
PercentagesThe percentage is calculated with respect to the height of the generated box's containing block. If the height of the containing block is not specified explicitly (i.e., it depends on content height), and this element is not absolutely positioned, the value computes to auto. A percentage height on the root element is relative to the initial containing block.
Mediavisual
Computed valuea percentage or auto or the absolute length
Animation typea length, percentage or calc();
Canonical orderthe unique non-ambiguous order defined by the formal grammar

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 7Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Edge Mobile Full support YesFirefox Android Full support 4Opera Android Full support 1Safari iOS Full support 1Samsung Internet Android Full support Yes
stretchChrome Full support 28
Alternate Name
Full support 28
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android Full support 37
Alternate Name
Full support 37
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Chrome Android Full support 28
Alternate Name
Full support 28
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android Full support 5.0
fit-contentChrome Full support 46Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android Full support 46Chrome Android Full support 46Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android Full support 5.0
max-contentChrome Full support 46Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android Full support 46Chrome Android Full support 46Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android Full support 5.0
min-contentChrome Full support 46Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android Full support 46Chrome Android Full support 46Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android Full support 5.0

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
Uses a non-standard name.
Uses a non-standard name.

See also