Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 1046740 of min-height

  • Revision slug: Web/CSS/min-height
  • Revision title: min-height
  • Revision id: 1046740
  • Created:
  • Creator: Simplexible
  • Is current revision? No
  • Comment {{xref_csspercentage}} replaced with {{cssxref("<percentage>")}}

Revision Content

{{CSSRef}}

Summary

The min-height property is used to set the minimum height of a given element. It prevents the used value of the {{ Cssxref("height") }} property from becoming smaller than the value specified for min-height.

The value of {{ Cssxref("min-height") }} overrides both {{ Cssxref("max-height") }} and {{ Cssxref("height") }}.

{{cssinfo}}

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 fixed minimum height. See {{cssxref("<length>")}} for possible units. Negative values make the declaration invalid.
<percentage>
The fixed minimum height expressed as a {{cssxref("<percentage>")}} of containing block's height. Negative values make the declaration invalid.
max-content {{ experimental_inline() }}
The intrinsic preferred height.
min-content {{ experimental_inline() }}
The intrinsic minimum height.
fill-available{{ experimental_inline() }}
The containing block height minus horizontal margin, border and padding. Some browsers implement an ancient name for this keyword, available.
fit-content {{ experimental_inline() }}
According 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

{{csssyntax}}

Examples

table { min-height: 75%; }

form { min-height: 0; }

Specifications

Specification Status Comment
{{ SpecName('CSS3 Sizing', '#width-height-keywords', 'min-height') }} {{ Spec2('CSS3 Sizing') }} Adds the max-content, min-content, fit-content, and fill-available keywords.
Both CSS3 Box and CSS3 Writing Modes drafts defined at some point these keywords. These drafts are superseded by this spec.
{{ SpecName('CSS3 Flexbox', '#min-auto', 'min-height') }} {{ Spec2('CSS3 Flexbox') }} An earlier revision of the spec added the auto keyword and used it as the initial value. The CSSWG subsequently resolved to revert this change, however. As of March 29, 2013, the latest Editor's Draft doesn't modify the min-width property anymore (i.e. it no longer introduces the auto value).
{{ SpecName('CSS3 Transitions', '#animatable-css', 'min-height') }} {{ Spec2('CSS3 Transitions') }} Defines min-height as animatable.
{{ SpecName('CSS2.1', 'visudet.html#min-max-heights', 'min-height') }} {{ Spec2('CSS2.1') }} Initial definition

Browser compatibility

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 1.0 {{ CompatGeckoDesktop("1.9") }} 7.0 [3] 4.0 1.0
2.0.2 (416) for positioned elements
applies to <table> [1] {{ CompatNo() }} {{ CompatVersionUnknown() }} {{ CompatNo() }} {{ CompatVersionUnknown() }} {{ CompatNo() }}
max-content, min-content, fit-content, and fill-available {{ experimental_inline() }} {{ CompatNo() }} {{ CompatNo() }} {{ CompatNo() }} {{ CompatNo() }} 9
auto{{obsolete_inline(22)}} 21.0 {{ CompatGeckoDesktop("16.0") }} {{ CompatNo() }} 12.10 {{ CompatNo() }}
auto as initial value{{obsolete_inline(22)}} 21.0 {{ CompatGeckoDesktop("18.0") }} {{ CompatNo() }} 12.10 {{ CompatNo() }}
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} 9

[1] CSS 2.1 explicitly leaves the behavior of min-height with {{ HTMLElement("table") }} undefined. Therefore any behavior is CSS2.1-compliant; newer CSS specifications may define this behavior, so Web developers shouldn't rely on a specific one now.

[2] Due to bug ({{bug("307866")}}) Firefox doesn't handle min-height on elements with display: table-*.

[3] In Internet Explorer 10-11 (but not 12+), 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.

See also

  • {{ Cssxref("width") }}, {{ Cssxref("height") }}, {{ Cssxref("max-height") }}
  • The box model, {{ Cssxref("min-width") }}, {{ Cssxref("box-sizing") }}, {{ Cssxref("height") }}, {{ Cssxref("max-height") }}

Revision Source

<div>{{CSSRef}}</div>

<h2 id="Summary" name="Summary">Summary</h2>

<p>The<strong> <code>min-height</code></strong> property is used to set the minimum height of a given element. It prevents the used value of the {{ Cssxref("height") }} property from becoming smaller than the value specified for <code>min-height</code>.</p>

<p>The value of {{ Cssxref("min-height") }} overrides both {{ Cssxref("max-height") }} and {{ Cssxref("height") }}.</p>

<p>{{cssinfo}}</p>

<h2 id="Syntax" name="Syntax">Syntax</h2>

<pre class="brush:css">
/* &lt;length&gt; value */
min-height: 3.5em;

/* &lt;percentage&gt; 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;
</pre>

<h3 id="Values" name="Values">Values</h3>

<dl>
 <dt><code>&lt;length&gt;</code></dt>
 <dd>The fixed minimum height. See {{cssxref("&lt;length&gt;")}} for possible units. Negative values make the declaration invalid.</dd>
 <dt><code>&lt;percentage&gt;</code></dt>
 <dd>The fixed minimum height expressed as a {{cssxref("&lt;percentage&gt;")}} of containing block's height. Negative values make the declaration invalid.</dd>
 <dt><code>max-content</code> {{ experimental_inline() }}</dt>
 <dd>The intrinsic preferred height.</dd>
 <dt><code>min-content</code> {{ experimental_inline() }}</dt>
 <dd>The intrinsic minimum height.</dd>
 <dt><code>fill-available</code>{{ experimental_inline() }}</dt>
 <dd>The containing block height minus horizontal margin, border and padding. Some browsers implement an ancient name for this keyword, <code>available</code>.</dd>
 <dt><code>fit-content</code> {{ experimental_inline() }}</dt>
 <dd>According CSS3 Box, this is a synonym of <code>min-content.</code> CSS3 Sizing defines a more complex algorithm, but no browser implements it, even in an experimental way.</dd>
</dl>

<h3 id="Formal_syntax">Formal syntax</h3>

<pre class="syntaxbox">
{{csssyntax}}</pre>

<h2 id="Examples">Examples</h2>

<pre class="brush: css">
table { min-height: 75%; }

form { min-height: 0; }
</pre>

<h2 id="Specifications">Specifications</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{ SpecName('CSS3 Sizing', '#width-height-keywords', 'min-height') }}</td>
   <td>{{ Spec2('CSS3 Sizing') }}</td>
   <td>Adds the <code>max-content</code>, <code>min-content</code>, <code>fit-content</code>, and <code>fill-available</code> keywords.<br />
    <em>Both CSS3 Box and CSS3 Writing Modes drafts defined at some point these keywords. These drafts are superseded by this spec.</em></td>
  </tr>
  <tr>
   <td>{{ SpecName('CSS3 Flexbox', '#min-auto', 'min-height') }}</td>
   <td>{{ Spec2('CSS3 Flexbox') }}</td>
   <td>An <a href="https://www.w3.org/TR/2012/CR-css3-flexbox-20120918/">earlier revision of the spec</a> added the <code>auto</code> keyword and used it as the initial value. The CSSWG subsequently resolved to revert this change, however. As of March 29, 2013, the latest <a href="https://dev.w3.org/csswg/css-flexbox/">Editor's Draft</a> doesn't modify the <code>min-width</code> property anymore (i.e. it no longer introduces the <code>auto</code> value).</td>
  </tr>
  <tr>
   <td>{{ SpecName('CSS3 Transitions', '#animatable-css', 'min-height') }}</td>
   <td>{{ Spec2('CSS3 Transitions') }}</td>
   <td>Defines <code>min-height</code> as animatable.</td>
  </tr>
  <tr>
   <td>{{ SpecName('CSS2.1', 'visudet.html#min-max-heights', 'min-height') }}</td>
   <td>{{ Spec2('CSS2.1') }}</td>
   <td>Initial definition</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility">Browser compatibility</h2>

<p>{{ CompatibilityTable() }}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari (WebKit)</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>1.0</td>
   <td>{{ CompatGeckoDesktop("1.9") }}</td>
   <td>7.0 [3]</td>
   <td>4.0</td>
   <td>1.0<br />
    2.0.2 (416) for positioned elements</td>
  </tr>
  <tr>
   <td>applies to <code>&lt;table&gt; </code>[1]</td>
   <td>{{ CompatNo() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatNo() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatNo() }}</td>
  </tr>
  <tr>
   <td><code>max-content</code>, <code>min-content</code>, <code>fit-content</code>, and <code>fill-</code><code>available</code> {{ experimental_inline() }}</td>
   <td>{{ CompatNo() }}</td>
   <td>{{ CompatNo() }}</td>
   <td>{{ CompatNo() }}</td>
   <td>{{ CompatNo() }}</td>
   <td>9</td>
  </tr>
  <tr>
   <td><code>auto</code>{{obsolete_inline(22)}}</td>
   <td>21.0</td>
   <td>{{ CompatGeckoDesktop("16.0") }}</td>
   <td>{{ CompatNo() }}</td>
   <td>12.10</td>
   <td>{{ CompatNo() }}</td>
  </tr>
  <tr>
   <td><code>auto</code> as initial value{{obsolete_inline(22)}}</td>
   <td>21.0</td>
   <td>{{ CompatGeckoDesktop("18.0") }}</td>
   <td>{{ CompatNo() }}</td>
   <td>12.10</td>
   <td>{{ CompatNo() }}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE&nbsp;Phone</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{ CompatUnknown() }}</td>
   <td>{{ CompatUnknown() }}</td>
   <td>{{ CompatUnknown() }}</td>
   <td>{{ CompatUnknown() }}</td>
   <td>9</td>
  </tr>
 </tbody>
</table>
</div>

<p>[1] CSS 2.1 explicitly leaves the behavior of <code>min-height </code>with {{ HTMLElement("table") }} undefined. Therefore any behavior is CSS2.1-compliant; newer CSS specifications may define this behavior, so Web developers shouldn't rely on a specific one now.</p>

<p>[2] Due to bug ({{bug("307866")}}) Firefox doesn't handle <code>min-height</code> on elements with <code>display: table-*</code>.</p>

<p>[3] In Internet Explorer 10-11 (but not 12+), a <code>min-height</code> declaration on a column-direction flex container doesn't apply to the container's flex items. See <a href="https://github.com/philipwalton/flexbugs#3-min-height-on-a-column-flex-container-wont-apply-to-its-flex-items">Flexbug #3</a> for more info.</p>

<h2 id="See_also" name="See_also">See also</h2>

<ul>
 <li>{{ Cssxref("width") }}, {{ Cssxref("height") }}, {{ Cssxref("max-height") }}</li>
 <li>The <a href="/en-US/docs/CSS/box_model" title="en/CSS/box_model">box model</a>, {{ Cssxref("min-width") }}, {{ Cssxref("box-sizing") }}, {{ Cssxref("height") }}, {{ Cssxref("max-height") }}</li>
</ul>
Revert to this revision