width

The width CSS property sets an element's width. By default, it sets the width of the content area, but if box-sizing is set to border-box, it sets the width of the border area.

The min-width and max-width properties override width.

Syntax

/* <length> values */
width: 300px;
width: 25em;

/* <percentage> value */
width: 75%;

/* Keyword values */
width: max-content;
width: min-content;
width: fit-content(20em);
width: auto;

/* Global values */
width: inherit;
width: initial;
width: unset;

The width property is specified as either:

Values

<length>
Defines the width as an absolute value.
<percentage>
Defines the width as a percentage of the containing block's width.
auto
The browser will calculate and select a width for the specified element.
max-content
The intrinsic preferred width.
min-content
The intrinsic minimum width.
fit-content(<length-percentage>)
Uses the fit-content formula with the available space replaced by the specified argument, i.e. min(max-content, max(min-content, <length-percentage>)).

Accessibility concerns

Ensure that elements set with a width aren't truncated and don't obscure other content when the page is zoomed to increase text size.

Formal definition

Initial valueauto
Applies toall elements but non-replaced inline elements, table rows, and row groups
Inheritedno
Percentagesrefer to the width of the containing block
Computed valuea percentage or auto or the absolute length
Animation typea length, percentage or calc();

Formal syntax

auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)

where
<length-percentage> = <length> | <percentage>

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 */
  width: max-content;
}
<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 */
  width: min-content;
}
<p class="minblue">The Mozilla community produces a lot of great software.</p>

Specifications

Specification Status Comment
CSS Box Sizing Module Level 4
The definition of 'width' in that specification.
Editor's Draft
CSS Box Sizing Module Level 3
The definition of 'width' in that specification.
Working Draft Added the max-content, min-content, fit-content keywords.
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.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
widthChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 3.5Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0
AnimatableChrome Full support 26Edge Full support 12Firefox Full support 16IE Full support 11Opera Full support 15Safari Full support 6.1WebView Android Full support 4.4Chrome Android Full support 26Firefox Android Full support 16Opera Android Full support 14Safari iOS Full support 6.1Samsung Internet Android Full support 1.5
fill
ExperimentalNon-standard
Chrome Full support 46Edge Full support 79Firefox No support NoIE No support NoOpera Full support 33Safari Full support 12WebView Android Full support 46Chrome Android Full support 46Firefox Android No support NoOpera Android Full support 33Safari iOS Full support 12Samsung Internet Android Full support 5.0
fit-contentChrome Full support 46
Full support 46
Full support 22
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
No support 1 — 48
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
Edge Full support 79
Full support 79
Full support 79
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Firefox Full support 3
Prefixed
Full support 3
Prefixed
Prefixed Implemented with the vendor prefix: -moz-
IE No support NoOpera Full support 33
Full support 33
Full support 15
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
No support 15 — 35
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
Safari Full support 11
Full support 11
Full support 6.1
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Full support 2
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
WebView Android Full support 46
Full support 46
Full support ≤37
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
No support 1 — 48
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
Chrome Android Full support 46
Full support 46
Full support 25
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
No support 18 — 48
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
Firefox Android Full support 4
Prefixed
Full support 4
Prefixed
Prefixed Implemented with the vendor prefix: -moz-
Opera Android Full support 33
Full support 33
Full support 14
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
No support 14 — 35
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
Safari iOS Full support 11
Full support 11
Full support 7
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Full support 1
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
Samsung Internet Android Full support 5.0
Full support 5.0
Full support 1.5
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
No support 1.0 — 5.0
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
max-contentChrome Full support 46
Full support 46
Full support 22
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Edge Full support 79
Full support 79
Full support 79
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Firefox Full support 66
Full support 66
Full support 3
Prefixed
Prefixed Implemented with the vendor prefix: -moz-
IE No support NoOpera Full support 44Safari Full support 11
Full support 11
Full support 2
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
WebView Android Full support 46Chrome Android Full support 46Firefox Android Full support 66
Full support 66
Full support 4
Prefixed
Prefixed Implemented with the vendor prefix: -moz-
Opera Android Full support 43Safari iOS Full support 11
Full support 11
Full support 1
Alternate Name
Alternate Name Uses the non-standard name: intrinsic
Samsung Internet Android Full support 5.0
min-contentChrome Full support 46
Full support 46
No support 1 — 48
Alternate Name
Alternate Name Uses the non-standard name: min-intrinsic
Edge Full support 79Firefox Full support 66
Full support 66
Full support 3
Prefixed
Prefixed Implemented with the vendor prefix: -moz-
IE No support NoOpera Full support 33
Full support 33
No support 15 — 35
Alternate Name
Alternate Name Uses the non-standard name: min-intrinsic
Safari Full support 11
Full support 11
Full support 2
Alternate Name
Alternate Name Uses the non-standard name: min-intrinsic
WebView Android Full support 46
Full support 46
No support 1 — 48
Alternate Name
Alternate Name Uses the non-standard name: min-intrinsic
Chrome Android Full support 46
Full support 46
No support 18 — 48
Alternate Name
Alternate Name Uses the non-standard name: min-intrinsic
Firefox Android Full support 66
Full support 66
Full support 4
Prefixed
Prefixed Implemented with the vendor prefix: -moz-
Opera Android Full support 33
Full support 33
No support 14 — 35
Alternate Name
Alternate Name Uses the non-standard name: min-intrinsic
Safari iOS Full support 11
Full support 11
Full support 1
Alternate Name
Alternate Name Uses the non-standard name: min-intrinsic
Samsung Internet Android Full support 5.0
Full support 5.0
No support 1.0 — 5.0
Alternate Name
Alternate Name Uses the non-standard name: min-intrinsic
stretch
Experimental
Chrome Full support 22
Alternate Name
Full support 22
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Edge Full support 79
Alternate Name
Full support 79
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Firefox Full support 3
Alternate Name
Full support 3
Alternate Name
Alternate Name Uses the non-standard name: -moz-available
IE No support NoOpera Full support 15
Alternate Name
Full support 15
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Safari Full support 6.1
Alternate Name
Full support 6.1
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
WebView Android Full support 4.4
Alternate Name
Full support 4.4
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Chrome Android Full support 25
Alternate Name
Full support 25
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Firefox Android Full support 4
Alternate Name
Full support 4
Alternate Name
Alternate Name Uses the non-standard name: -moz-available
Opera Android Full support 14
Alternate Name
Full support 14
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Safari iOS Full support 6.1
Alternate Name
Full support 6.1
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available
Samsung Internet Android Full support 5.0
Alternate Name
Full support 5.0
Alternate Name
Alternate Name Uses the non-standard name: -webkit-fill-available

Legend

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Uses a non-standard name.
Uses a non-standard name.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also