The min-height CSS property sets the minimum height of an element. It prevents the used value of the height property from becoming smaller than the value specified for min-height.

The element's height is set to the value of min-height whenever min-height is larger than max-height or height.

Syntax

/* <length> value */
min-height: 3.5em;

/* <percentage> value */
min-height: 10%;

/* Keyword values */
min-height: max-content;
min-height: min-content;
min-height: fit-content;
min-height: fill-available;

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

Values

<length>
The minimum height, expressed as a <length>. Negative values make the declaration invalid.
<percentage>
The minimum height, expressed as a <percentage> of the containing block's height. Negative values make the declaration invalid.

Keyword values

auto
The default minimum height for flex items, providing a more reasonable default than 0 for other layouts.
max-content
The intrinsic preferred height.
min-content
The intrinsic minimum height.
fill-available
The containing block's height minus the vertical margin, border, and padding. (Note that some browsers implement an ancient name for this keyword, available.)
fit-content
According to CSS3 Box, this is a synonym of min-content. CSS3 Sizing defines a more complex algorithm, but no browser implements it, even in an experimental way.

Formal syntax

<length> | <percentage> | auto | max-content | min-content | fit-content | fill-available

Examples

table { min-height: 75%; }

form { min-height: 0; }

Specifications

Specification Status Comment
CSS Intrinsic & Extrinsic Sizing Module Level 3
The definition of 'min-height' in that specification.
Working Draft Adds the max-content, min-content, fit-content, and fill-available keywords. (Both CSS3 Box and CSS3 Writing Modes drafts used to define these keywords, but are superseded by this spec.)
CSS Flexible Box Layout Module
The definition of 'min-height' in that specification.
Candidate Recommendation Adds the auto keyword and uses it as the initial value.
CSS Transitions
The definition of 'min-height' in that specification.
Working Draft Defines min-height as animatable.
CSS Level 2 (Revision 1)
The definition of 'min-height' in that specification.
Recommendation Initial definition.

Initial value0
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 percentage value is treated as 0.
Mediavisual
Computed valuethe percentage as specified 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 support1123172431
fit-content, max-content, and min-content No No No No No9
fill-available1 No No No Yes9
auto21 ?16 — 224 No12.1 No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ? ? Yes ? ?9 ?
fit-content, max-content, and min-content ? ? ? ? ? ? No
fill-available Yes Yes ? ? Yes ? Yes
auto ? ? ? ? ? ? ?

1. CSS 2.1 leaves the behavior of min-height with table undefined. Firefox supports applying min-height to table elements.

2. In Internet Explorer 10 and 11, a min-height declaration on a column-direction flex container doesn't apply to the container's flex items. See Flexbug #3 for more info.

3. CSS 2.1 leaves the behavior of min-height with table undefined. Opera supports applying min-height to table elements.

4. Firefox 18 and later used auto as the initial value for min-height.

See also