fit-content

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2021.

The fit-content keyword is equivalent to fit-content(stretch). In practice, this means that the box will use the available space, but never more than max-content.

The fit-content size is calculated using the following equation, where <available-space> is the size of its parent or grid track in grid layout:

min(max-content, max(min-content, <available-space>))

When used as laid out box size for width, height, min-width, min-height, max-width and max-height the maximum and minimum sizes refer to the content size.

The interpolate-size property and calc-size() function can be used to enable animations to and from fit-content.

Note: The CSS Sizing specification also defines the fit-content() function. This page details the keyword.

Syntax

css
width: fit-content; block-size: fit-content; 

Examples

Using fit-content for box sizing

HTML

html
<div class="container"> <div class="item">Item</div> <div class="item">Item with more text in it.</div> <div class="item"> Item with more text in it, hopefully we have added enough text so the text will start to wrap. </div> </div> 

CSS

css
.container { border: 2px solid #ccc; padding: 10px; width: 20em; } .item { width: fit-content; background-color: #8ca0ff; padding: 5px; margin-bottom: 1em; } 

Result

Specifications

Specification
CSS Box Sizing Module Level 4
# valdef-width-fit-content

Browser compatibility

See also