We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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 Basic Box Model
The definition of 'height' in that specification.
Working Draft Added the max-content, min-content, available, fit-content, border-box, content-box 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.
CSS Intrinsic & Extrinsic Sizing Module Level 3
The definition of 'width' in that specification.
Working Draft Adds new sizing keywords for width and height.

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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support1121471
fill46 ? ? ? ? ?
fit-content46 ? ? ? ? ?
max-content46 ? ? ? ? ?
min-content46 ? ? ? ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support11 Yes411 Yes
fill4646 ? ? ? ?5.0
fit-content4646 ? ? ? ?5.0
max-content4646 ? ? ? ?5.0
min-content4646 ? ? ? ?5.0

See also