The max-width
CSS property sets the maximum width of an element. It prevents the used value of the width
property from becoming larger than the value specified by max-width
.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
max-width
overrides width
, but min-width
overrides max-width
.
Syntax
/* <length> value */ max-width: 3.5em; /* <percentage> value */ max-width: 75%; /* Keyword values */ max-width: none; max-width: max-content; max-width: min-content; max-width: fit-content(20em); /* Global values */ max-width: inherit; max-width: initial; max-width: unset;
Values
<length>
- Defines the
max-width
as an absolute value. <percentage>
- Defines the
max-width
as a percentage of the containing block's width. auto
- The browser will calculate and select a
max-width
for the specified element. none
- No limit on the size of the box.
max-content
- The intrinsic preferred
max-width
. min-content
- The intrinsic minimum
max-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, argument))
.
Accessibility concerns
Ensure that elements set with a max-width
are not truncated and/or do not obscure other content when the page is zoomed to increase text size.
- MDN Understanding WCAG, Guideline 1.4 explanations
- Understanding Success Criterion 1.4.4 | W3C Understanding WCAG 2.0
Formal definition
Initial value | none |
---|---|
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 |
Computed value | the percentage as specified or the absolute length or none |
Animation type | a length, percentage or calc(); |
Formal syntax
auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)where
<length-percentage> = <length> | <percentage>
Examples
Setting max width in pixels
In this example, the "child" will be either 150 pixels wide or the width of the "parent," whichever is smaller.
HTML
<div id="parent"> <div id="child"> Fusce pulvinar vestibulum eros, sed luctus ex lobortis quis. </div> </div>
CSS
#parent { background: lightblue; width: 300px; } #child { background: gold; width: 100%; max-width: 150px; }
Result
Specifications
Specification | Status | Comment |
---|---|---|
CSS Box Sizing Module Level 4 The definition of 'max-width' in that specification. |
Editor's Draft | |
CSS Box Sizing Module Level 3 The definition of 'max-width' in that specification. |
Working Draft | Adds the max-content , min-content , fit-content keywords. |
CSS Level 2 (Revision 1) The definition of 'max-width' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
max-width | Chrome Full support 1 | Edge Full support 12 | Firefox
Full support
1
| IE Full support 7 | Opera
Full support
4
| Safari Full support 1 | WebView Android Full support 4.4 | Chrome Android Full support 18 | Firefox Android
Full support
4
| Opera Android Full support 14 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 |
fit-content | Chrome
Full support
46
| Edge
Full support
79
| Firefox
Partial support
3
| IE No support No | Opera Full support 44 | Safari
Full support
6.1
| WebView Android
Full support
46
| Chrome Android Full support 46 | Firefox Android
Partial support
4
| Opera Android Full support 43 | Safari iOS
Full support
7
| Samsung Internet Android Full support 5.0 |
max-content | Chrome
Full support
46
| Edge
Full support
79
| Firefox
Full support
66
| IE No support No | Opera Full support 44 | Safari
Full support
6.1
| WebView Android
Full support
46
| Chrome Android Full support 46 | Firefox Android
Full support
66
| Opera Android Full support 43 | Safari iOS
Full support
7
| Samsung Internet Android Full support 5.0 |
min-content | Chrome
Full support
46
| Edge
Full support
79
| Firefox
Full support
66
| IE No support No | Opera Full support 44 | Safari
Full support
6.1
| WebView Android Full support 46 | Chrome Android Full support 46 | Firefox Android
Full support
66
| Opera Android Full support 43 | Safari iOS
Full support
7
| Samsung Internet Android Full support 5.0 |
stretch | Chrome
Full support
22
| Edge
Full support
79
| Firefox No support No | IE No support No | Opera
Full support
15
| Safari No support No | WebView Android
Full support
4.4
| Chrome Android
Full support
25
| Firefox Android No support No | Opera Android
Full support
14
| Safari iOS No support No | Samsung Internet Android
Full support
1.5
|
Legend
- Full support
- Full support
- Partial support
- Partial support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- See implementation notes.
- 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.