files/en-us/web/css/reference/properties/height/index.md
The height CSS property specifies the height of an element. By default, the property defines the height of the content area. If {{cssxref("box-sizing")}} is set to border-box, however, it instead determines the height of the border area.
{{InteractiveExample("CSS Demo: height")}}
height: 150px;
height: 6em;
height: 75%;
height: auto;
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">
This is a box where you can change the height.
</div>
</section>
#example-element {
display: flex;
flex-direction: column;
background-color: #5b6dcd;
justify-content: center;
color: white;
}
The {{cssxref("min-height")}} and {{cssxref("max-height")}} properties override height.
[!NOTE] As a geometric property,
heightalso applies to the {{SVGElement("svg")}}, {{SVGElement("rect")}}, {{SVGElement("image")}}, and {{SVGElement("foreignObject")}} SVG elements, withautoresolving to0and percent values being relative to the SVG viewport height for<rect>. The CSSheightproperty value overrides any SVG {{SVGAttr("height")}} attribute value set on the SVG element.
/* <length> values */
height: 120px;
height: 10em;
height: 100vh;
height: anchor-size(height);
height: anchor-size(--my-anchor self-block, 250px);
height: clamp(200px, anchor-size(width));
/* <percentage> value */
height: 75%;
/* Keyword values */
height: max-content;
height: min-content;
height: fit-content;
height: fit-content(20em);
height: auto;
height: stretch;
/* Global values */
height: inherit;
height: initial;
height: revert;
height: revert-layer;
height: unset;
auto
min(max-content, max(min-content, stretch)).fit-content(<length-percentage>)
min(max-content, max(min-content, <length-percentage>)).stretch
100% but applying the resulting size to the margin box rather than the box determined by box-sizing.Ensure that elements set with a height aren't truncated and/or don't obscure other content when the page is zoomed to increase text size.
{{CSSInfo}}
{{csssyntax}}
<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>
div {
width: 250px;
margin-bottom: 5px;
border: 2px solid blue;
}
#taller {
height: 50px;
}
#shorter {
height: 25px;
}
#parent {
height: 100px;
}
#child {
height: 50%;
width: 75%;
}
{{EmbedLiveSample('Setting_height_using_pixels_and_percentages', 'auto', 240)}}
<div class="parent">
<div class="child">text</div>
</div>
<div class="parent">
<div class="child stretch">stretch</div>
</div>
@supports not (height: stretch) {
.parent {
display: none !important;
}
body::after {
content: "Your browser doesn't support the `stretch` value yet.";
}
}
.parent {
height: 150px;
margin: 1rem;
border: solid;
}
.child {
margin: 1rem;
background: #00999999;
}
.stretch {
height: stretch;
}
{{EmbedLiveSample('Stretch height to fill the containing block', 'auto', 380)}}
{{Specifications}}
{{Compat}}