Our volunteers haven't translated this article into فارسی yet. Join us and help get the job done!
Summary
The width
CSS property specifies the width of the content area of an element. The content area is inside the padding, border, and margin of the element.
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 |
Animatable | yes, as a length, percentage or calc(); when both values are lengths, they are interpolated as lengths; when both values are percentages, they are interpolated as percentages; otherwise, both values are converted into a calc() function that is the sum of a length and a percentage (each possibly zero), and these calc() functions have each half interpolated as real numbers. |
Canonical order | the length or percentage before the keyword, if both are present |
Syntax
/* <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;
Values
<length>
- See
<length>
for possible units. <percentage>
- Specified as a
<percentage>
of 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-available
inline size orfill-available
block 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 | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | (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] |
3.0 (1.9)-moz | ? | 15 -webkit | 2.0 (421) (intrinsic value)6.1 -webkit |
min-content |
22.0 [4] -webkit |
3.0 (1.9) -moz | ? | 15 -webkit | 2.0 (421) (min-intrinsic value)6.1 -webkit |
available |
No support | 3.0 (1.9) -moz | ? | ? | ?[1] |
fill-available |
22.0 -webkit | No support | ? | ? | 6.1 -webkit |
fit-content |
22.0 [4] -webkit 46.0 [1] |
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 |
fill |
46.0 |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | ? | (Yes) | ? | ? | ? | ? | (Yes) |
Animatability | ? | ? | 16.0 (16.0) | ? | ? | ? | ? |
max-content |
No support | 46.0 [1] | ? | ? | ? | ? | 46.0 [1] |
min-content |
No support | 46.0 [1] | ? | ? | ? | ? | 46.0 [1] |
available |
? | ? | ? | ? | ? | ? | ? |
fill-available |
No support | 46.0 [1] | ? | ? | ? | ? | 46.0 [1] |
fit-content |
No support | 46.0 [1] | ? | ? | ? | ? | 46.0 [1] |
border-box and content-box |
? | ? | ? | ? | ? | ? | ? |
fill |
No support | 46.0 | 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.
See also
Document Tags and Contributors
Tags:
Contributors to this page:
jpmedley,
HTMLValidator,
Sebastianz,
Simplexible,
teoli,
yisibl,
fscholz,
wbamberg,
dbs,
softwareadvisor,
yisi,
kscarfone,
Sheppy,
paul.irish,
hydrurga,
felipc,
ethertank,
tregagnon,
Huan,
TabAtkins,
Jürgen Jeka,
Mgjbot,
Potappo,
DBaron,
BijuGC,
Kyodev,
Fredchat,
Backinblakk
Last updated by:
jpmedley,