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 source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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 the containing block's height.
auto
- The browser will calculate and select a height for the specified element.
max-content
- The intrinsic preferred height.
min-content
- The intrinsic minimum height.
fit-content(
<length-percentage>
)- Uses the fit-content formula with the available space replaced by the specified argument, i.e. min(max-content, max(min-content, )).
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.
- MDN Understanding WCAG, Guideline 1.4 explanations
- Understanding Success Criterion 1.4.4 | W3C Understanding WCAG 2.0
Formal definition
Initial value | auto |
---|---|
Applies to | all elements but non-replaced inline elements, table columns, and column groups |
Inherited | no |
Percentages | The 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. |
Computed value | a percentage or auto or the absolute length |
Animation type | a length, percentage or calc(); |
Formal syntax
auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)where
<length-percentage> = <length> | <percentage>
Examples
Setting height using pixels and percentages
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
Specifications
Specification | Status | Comment |
---|---|---|
CSS Box Sizing Module Level 4 The definition of 'height' in that specification. |
Editor's Draft | |
CSS Box Sizing Module Level 3 The definition of 'height' in that specification. |
Working Draft | Added the max-content , min-content , fit-content keywords. |
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. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
height | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 4 | Opera Full support 7 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 |
fit-content | Chrome Full support 46 | Edge Full support 79 | Firefox No support No | IE No support No | Opera Full support 33 | Safari
Full support
11
| WebView Android Full support 46 | Chrome Android Full support 46 | Firefox Android No support No | Opera Android Full support 33 | Safari iOS
Full support
11
| Samsung Internet Android Full support 5.0 |
max-content | Chrome Full support 46 | Edge Full support 79 | Firefox
Full support
66
| IE No support No | Opera Full support 44 | Safari Full support 11 | WebView Android Full support 46 | Chrome Android Full support 46 | Firefox Android
Full support
66
| Opera Android Full support 43 | Safari iOS Full support 11 | Samsung Internet Android Full support 5.0 |
min-content | Chrome Full support 46 | Edge Full support 79 | Firefox
Full support
66
| IE No support No | Opera Full support 44 | Safari Full support 11 | WebView Android Full support 46 | Chrome Android Full support 46 | Firefox Android
Full support
66
| Opera Android Full support 43 | Safari iOS Full support 11 | Samsung Internet Android Full support 5.0 |
stretch | Chrome
Full support
28
| Edge
Full support
79
| Firefox No support No | IE No support No | Opera
Full support
15
| Safari
Full support
9
| WebView Android
Full support
4.4
| Chrome Android
Full support
28
| Firefox Android No support No | Opera Android
Full support
15
| Safari iOS
Full support
9
| Samsung Internet Android
Full support
5.0
|
Legend
- Full support
- Full support
- No support
- No support
- Uses a non-standard name.
- Uses a non-standard name.
- Requires a vendor prefix or different name for use.
- Requires a vendor prefix or different name for use.
See also
- The box model,
box-sizing
max-height
,min-height
- The mapped logical properties:
block-size
,inline-size