W3cubDocs

/CSS

max-width

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.

/* <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;
max-width: fill-available;

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

max-width overrides width, but min-width overrides max-width.

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
Media visual
Computed value the percentage as specified or the absolute length or none
Animation type a length, percentage or calc();
Canonical order the unique non-ambiguous order defined by the formal grammar

Syntax

Values

<length>
The maximum width, expressed as a <length>.
<percentage>
The maximum width, expressed as a <percentage> of the containing block's width.

Keyword values

none
The width has no maximum value.
max-content
The intrinsic preferred width.
min-content
The intrinsic minimum width.
fill-available
The containing block's width minus the horizontal margin, border, and padding. (Note that some browsers implement an ancient name for this keyword, available.)
fit-content
The same as max-content.

Formal syntax

<length> | <percentage> | none | max-content | min-content | fit-content | fill-available

Examples

In this example, the "child" will be either 150 pixels wide or the width of the "parent," whichever is smaller:

<div id="parent">
  <div id="child">
    Fusce pulvinar vestibulum eros, sed luctus ex lobortis quis.
  </div>
</div>
#parent {
  background: lightblue;
  width: 300px;
}

#child {
  background: gold;
  width: 100%;
  max-width: 150px;
}

The fit-content value can be used to set the width of an element based on the intrinsic size required by its content:

<div id="parent">
    <div id="child">
        Child Text
    </div>
</div>
#parent {
  background: lightblue;
  width: 300px;
}

#child  {
  background: gold;
  width: 100%;
  max-width: -moz-fit-content;
  max-width: -webkit-fit-content;
}

Specifications

Specification Status Comment
CSS Intrinsic & Extrinsic Sizing Module Level 3
The definition of 'max-width' in that specification.
Working Draft Adds the max-content, min-content, fit-content, and fill-available keywords.(Both CSS3 Box and CSS3 Writing Modes drafts used to define these keywords, but are superseded by this spec.)
CSS Transitions
The definition of 'max-width' in that specification.
Working Draft Defines max-width as animatable.
CSS Level 2 (Revision 1)
The definition of 'max-width' in that specification.
Recommendation Initial definition.

Browser compatibility

Feature Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 1 Yes 11 7 42 2
fit-content, max-content, and min-content No3 No 3 -moz- 4 No No No5
fill-available No No No No No No
Feature Android webview Chrome for Android Edge mobile Firefox for Android Opera Android iOS Safari Samsung Internet
Basic support ? ? Yes ? ? ? ?
fit-content, max-content, and min-content ? ? ? No ? ? ?
fill-available ? ? ? ? ? ? ?

1. CSS 2.1 leaves the behavior of max-width with table undefined. Firefox supports applying max-width to table elements.

2. CSS 2.1 leaves the behavior of max-width with table undefined. Opera supports applying max-width to table elements.

3. Chrome implements an earlier proposal for setting width to an intrinsic width: the keywords intrinsic (instead of max-content), and min-intrinsic (instead of min-content). There is no equivalent for fill-available or fit-content.

4. Firefox implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.

5. Safari implements an earlier proposal for setting width to an intrinsic width: the keywords intrinsic (instead of max-content), and min-intrinsic (instead of min-content). There is no equivalent for fill-available or fit-content.

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/max-width