GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • MDN
  • HTML: Markup language
  • Elements
  • Global attributes
  • Attributes
  • See all…
  • Responsive images
  • HTML cheatsheet
  • Date & time formats
  • See all…
  • SVG
  • MathML
  • XML
  • CSS: Styling language

This view

  • Original page
  • New address

GeezerVison is showing developer.mozilla.org — max-width CSS property - CSS | MDN

max-width CSS property

Baseline
Widely available
*

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

  • See full compatibility
  • Learn more

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.

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

Try it

max-width: 150px;
max-width: 20em;
max-width: 75%;
max-width: 20ch;
<section class="default-example" id="default-example">
  <div class="transition-all" id="example-element">
    Change the maximum width.
  </div>
</section>
#example-element {
  display: flex;
  flex-direction: column;
  background-color: #5b6dcd;
  height: 80%;
  justify-content: center;
  color: white;
}

Syntax

css
/* <length> value */
max-width: 3.5em;
max-width: anchor-size(--my-anchor inline, 245px);
max-width: calc(anchor-size(width) + 4em);

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

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

/* Global values */
max-width: inherit;
max-width: initial;
max-width: revert;
max-width: revert-layer;
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.

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

Use the available space, but not more than max-content, i.e., min(max-content, max(min-content, stretch)).

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)).

stretch

Limits the maximum width of the element's margin box to the width of its containing block. It attempts to make the margin box fill the available space in the containing block, so in a way behaving similar to 100% but applying the resulting size to the margin box rather than the box determined by box-sizing.

Note: To check aliases used by browsers for the stretch value and its implementation status, see the Browser compatibility section.

Accessibility

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 valuenone
Applies toall elements but non-replaced inline elements, table rows, and row groups
Inheritedno
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();

Formal syntax

max-width = 
none |
<box-size> |
<anchor-size()>

<box-size> =
<length-percentage [0,∞]> |
stretch |
contain |
min-content |
max-content |
fit-content |
stretch( <length-percentage [0,∞]> ) |
fit-content( <length-percentage [0,∞]> ) |
<calc-size()>

<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )

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

<calc-size()> =
calc-size( <calc-size-basis> , <calc-sum> )

<anchor-name> =
<dashed-ident>

<anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline

<calc-size-basis> =
<size-keyword> |
<calc-sum> |
<calc-size()> |
any

<calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*

<calc-product> =
<calc-value> [ [ '*' | / ] <calc-value> ]*

<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )

<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN

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

html
<div id="parent">
  <div id="child">
    Fusce pulvinar vestibulum eros, sed luctus ex lobortis quis.
  </div>
</div>

CSS

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

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

Result

Specifications

Specification
CSS Box Sizing Module Level 3
# sizing-values

Browser compatibility

See also

  • min-width
  • width
  • max-inline-size
  • max-block-size
  • box-sizing
  • Introduction to the CSS box model guide
  • CSS box model module

Help improve MDN

Learn how to contribute

This page was last modified on Sep 10, 2026 by MDN contributors.

View this page on GitHub • Report a problem with this content
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.