Our volunteers haven't translated this article into Català yet. Join us and help get the job done!
You can also read the article in English (US).
The width property specifies the width of an element. By default, the property defines the width of the content area. If box-sizing is set to border-box, it instead determines the width of the border area.
/* <length> values */ width: 300px; width: 25em; /* <percentage> value */ width: 75%; /* Keyword values */ width: 25em border-box; width: 75% content-box; width: max-content; width: min-content; width: available; width: fit-content; width: auto; /* Global values */ width: inherit; width: initial; width: unset;
The min-width and max-width properties override width.
| Initial value | auto |
|---|---|
| Applies to | all elements but non-replaced inline elements, table rows, and row groups |
| Inherited | no |
| Percentages | refer to the width of the containing block |
| Media | visual |
| Computed value | a percentage or auto or the absolute length |
| Animation type | a length, percentage or calc(); |
| Canonical order | the length or percentage before the keyword, if both are present |
Syntax
The width property is specified as either:
- one of the following keyword values:
available,min-content,max-content,fit-content,auto. - a
<length>or a<percentage>. This may optionally be followed by one of the following keywords:border-box,content-box.
Values
<length>- Defines the width as an absolute value.
<percentage>- Defines the width as a percentage of the containing block's width. If the width of the containing block depends on the width of the element, the resulting layout is undefined.
border-box- If present, the preceding
<length>or<percentage>is applied to the element's border box. content-box- If present, the preceding
<length>or<percentage>is applied to the element's content box. auto- The browser will calculate and select a width for the specified element.
fill- Use the
fill-availableinline size orfill-availableblock size, as appropriate to the writing mode. max-content- The intrinsic preferred width.
min-content- The intrinsic minimum width.
available- The containing block width minus horizontal margin, border and padding.
fit-content- The larger of:
- the intrinsic minimum width
- the smaller of the intrinsic preferred width and the available width
Formal syntax
[ <length> | <percentage> ] && [ border-box | content-box ]? | available | min-content | max-content | fit-content | auto
Examples
Default width
p.goldie {
background: gold;
}
<p class="goldie">The Mozilla community produces a lot of great software.</p>
Pixels and ems
.px_length {
width: 200px;
background-color: red;
color: white;
border: 1px solid black;
}
.em_length {
width: 20em;
background-color: white;
color: red;
border: 1px solid black;
}
<div class="px_length">Width measured in px</div> <div class="em_length">Width measured in em</div>
Percentage
.percent {
width: 20%;
background-color: silver;
border: 1px solid red;
}
<div class="percent">Width in percentage</div>
max-content
p.maxgreen {
background: lightgreen;
width: intrinsic; /* Safari/WebKit uses a non-standard name */
width: -moz-max-content; /* Firefox/Gecko */
width: -webkit-max-content; /* Chrome */
}
<p class="maxgreen">The Mozilla community produces a lot of great software.</p>
min-content
p.minblue {
background: lightblue;
width: -moz-min-content; /* Firefox */
width: -webkit-min-content; /* Chrome */
}
<p class="minblue">The Mozilla community produces a lot of great software.</p>
Specifications
| Specification | Status | Comment |
|---|---|---|
| CSS Basic Box Model The definition of 'width' in that specification. |
Working Draft | Added the max-content, min-content, available, fit-content, border-box, content-box keywords. |
| CSS Transitions The definition of 'width' in that specification. |
Working Draft | Lists width as animatable. |
| CSS Level 2 (Revision 1) The definition of 'width' in that specification. |
Recommendation | Precises on which element it applies to. |
| CSS Level 1 The definition of 'width' in that specification. |
Recommendation | Initial definition |
| CSS Intrinsic & Extrinsic Sizing Module Level 3 The definition of 'width' in that specification. |
Working Draft | Adds new sizing keywords for width and height. |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 1.0 (1.7 or earlier) | 4 | 3.5 | 1.0 (85) |
| Animatability | ? | ? | 16.0 (16.0) | ? | ? | ? |
max-content |
22.0 -webkit 46.0 [1] |
No support | 3.0 (1.9)-moz | ? | 15 -webkit | 2.0 (421) (intrinsic value)6.1 -webkit |
min-content |
22.0 [4] -webkit |
No support | 3.0 (1.9) -moz | ? | 15 -webkit | 2.0 (421) (min-intrinsic value)6.1 -webkit |
available |
No support | No support | 3.0 (1.9) -moz | ? | ? | ?[1] |
fill-available |
22.0 -webkit | No support | No support | ? | ? | 6.1 -webkit |
fit-content |
22.0 [4] -webkit 46.0 [1] |
No support | 3.0 (1.9) -moz | ? | 15 -webkit | 6.1 -webkit[2] |
border-box and content-box |
No support | No support | No support | No support | No support | No support |
fill |
46.0 | No support |
| Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|---|
| Basic support | ? | (Yes) | (Yes) | ? | ? | ? | ? | (Yes) |
| Animatability | ? | ? | ? | 16.0 (16.0) | ? | ? | ? | ? |
max-content |
No support | 46.0 [1] | No support | ? | ? | ? | ? | 46.0 [1] |
min-content |
No support | 46.0 [1] | No support | ? | ? | ? | ? | 46.0 [1] |
available |
? | ? | No support | ? | ? | ? | ? | ? |
fill-available |
No support | 46.0 [1] | No support | ? | ? | ? | ? | 46.0 [1] |
fit-content |
No support | 46.0 [1] | No support | ? | ? | ? | ? | 46.0 [1] |
border-box and content-box |
? | ? | No support | ? | ? | ? | ? | ? |
fill |
No support | 46.0 | No support | ? | 46.0 |
[1] WebKit implements a variation of this value under the name fill-available as of December 2013.
[2] Earlier versions of WebKit implemented an earlier version of this value under the name intrinsic, but implements fit-content since version 6.1 as well.
[3] Unprefixed.
[4] Old WebKit support intrinsic and min-intrinsic keywords, but removed in Chrome 48.

