Want to share your CSS expertise with others? Apply to the MDN Fellowship by April 1! http://mzl.la/MDNFellowship

mozilla

Revision 372795 of min-height

  • Revision slug: CSS/min-height
  • Revision title: min-height
  • Revision id: 372795
  • Created:
  • Creator: Dholbert
  • Is current revision? No
  • Comment Mirror my recent edits to 'min-width' page. (fix typo in "explicitely", and note that the "auto" value is obsolete because it's been removed from the flexbox spec)

Revision Content

{{ CSSRef() }}

Summary

The min-height CSS 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") }}.

{{cssbox("min-height")}}

Syntax

Formal syntax: {{csssyntax("min-height")}}
min-height: 3.5em
min-height: 10%
min-height: max-content
min-height: min-content
min-height: fit-content
min-height: fill-available

min-height: inherit

Values

<length>
The fixed minimum height. See {{ Xref_csslength() }} for possible units. Negative values make the declaration invalid.
<percentage>
The fixed minimum height expressed as a {{ Xref_csspercentage() }} 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.

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 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() }} {{ CompatNo() }}
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() }} {{ CompatUnknown() }}

Notes

[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.

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

<p>{{ CSSRef() }}</p>
<h2 id="Summary" name="Summary">Summary</h2>
<p>The <code>min-height</code> CSS 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>{{cssbox("min-height")}}</p>
<h2 id="Syntax" name="Syntax">Syntax</h2>
<pre class="twopartsyntaxbox">
<a href="/en-US/docs/CSS/Value_definition_syntax" title="CSS/Value_definition_syntax">Formal syntax</a>: {{csssyntax("min-height")}}
</pre>
<pre>
min-height: 3.5em
min-height: 10%
min-height: max-content
min-height: min-content
min-height: fit-content
min-height: fill-available

min-height: inherit
</pre>
<h3 id="Values" name="Values">Values</h3>
<dl>
  <dt>
    <code>&lt;length&gt;</code></dt>
  <dd>
    The fixed minimum height. See {{ Xref_csslength() }} 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 {{ Xref_csspercentage() }} 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>
<h2 id="Examples" name="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="http://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="http://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</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>{{ CompatNo() }}</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>{{ CompatUnknown() }}</td>
      </tr>
    </tbody>
  </table>
</div>
<h3 id="Notes">Notes</h3>
<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>
<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