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 valuenone
Applies toall elements but non-replaced inline elements, table rows, and row groups
Percentagesrefer to the width of the containing block
Computed valuethe percentage as specified or the absolute length or none
Animation typea length, percentage or calc();
Canonical orderthe unique non-ambiguous order defined by the formal grammar



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

Keyword values

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

Formal syntax

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


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.
#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:

#parent {
  background: lightblue;
  width: 300px;

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


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 (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 1.0 (Yes) 1.0 (1.7 or earlier) 7.0 4.0 2.0.2 (416),
buggy before
applies to <table>[1] No support No support (Yes) No support (Yes) No support
max-content, min-content, fit-content, and fill-available No support [3] No support 3.0 (1.9)-moz [2] No support No support No support [3]
Feature Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ? (Yes) ? ? ? ?

[1] CSS 2.1 explicitly leaves the behavior of max-width with <table> undefined. Therefore any behavior is CSS2.1-compliant; newer CSS specifications may define this behavior, so Web developers shouldn't rely on a specific one now.

[2] Gecko experimentally implements the definitions given in CSS3 Basic Box. This one defines available and not fill-available. Also the definition of fit-content is simpler than in CSS3 Sizing.

[3] WebKit implements an earlier proposal for setting the height to an intrinsic height: 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