max-width (CSS property)
Example
This style rule assigns a maximum width
of 400 pixels and a minimum width of 100 pixels to paragraphs within the
element with ID "example":
#example p {
max-width: 400px;
min-width: 100px;
}
Description
This property sets the maximum content width of a block or a replaced element. This maximum width does not include padding, borders, or margins—see The CSS Box Model.
An element to which a
max-width is applied will never be wider than the value
specified even if the width property is set to be
wider. There is an exception to this rule, however: if
min-width is specified with a value greater than that
of max-width, the container’s width will be the largest
value, which in this case means that the min-width
value will be the one that’s applied.
max-width
is often used in conjunction with min-width to produce
a width range for the element concerned.
Note that max-width and width
shouldn’t be applied to the same element using the same unit, as one
will override the other. If, for example, the width
is set to 150px and the
max-width is set to 60px, the
actual width of the element will be 60px, and the
width declaration will become redundant.
The following style rule shows how conflicts are resolved where an
element has been given both a width and a
max-width using the same unit (pixels in this
case):
.example {
max-width: 60px;
width: 150px;
}
In the above example, the width of the element will be fixed at
60px.
However, it’s acceptable to set max-width and
width when the values are different units (although
it may not be entirely useful, there are a few cases where it can be
used to good effect).
This style rule assigns a max-width of
160px to images with the class
"example", and also assigns a
width of 50%:
img.example {
width: 50%;
max-width: 160px;
height: auto;
}
The final width of the image in the above example will be the smallest value.
If you want an image to scale when the page width is small, so that the image doesn’t break out of its column, you could use the above example to ensure that the image’s size decreases once the available space is less than 160 pixels.
If the available space is greater than 160 pixels, the image will expand until it’s 160 pixels wide—but no further. This ensures that the image stays at a sensible size—or its correct aspect ratio—when space allows.
The min-width property can be used for the
reverse of this scenario.
If the contents of a block require more horizontal space
than is allowed by the limits that have been set, the behavior is defined
by the overflow
property.
Value
The property takes a CSS length (px,
pt, em, and so on), a percentage, or the keyword
none. Negative length values are
illegal.
Percentage values refer to the width of the containing block. If the containing
block’s width is negative, the used value is
none.
Compatibility
| IE | 5.5 | None |
|---|---|---|
| 6.0 | None | |
| 7.0 | Full | |
| Firefox | 1.0 | Full |
| 1.5 | Full | |
| 2.0 | Full | |
| Safari | 1.3 | Partial |
| 2.0 | Full | |
| 3.0 | Full | |
| Opera | 9.2 | Full |
| 9.5 | Full |
Safari’s support for this property, when applied to positioned elements, is limited to versions 2.0.2 or above.
Internet Explorer for Windows versions up to and
including 7 don’t support the value inherit.
User-contributed notes
There are no comments yet.
Add a note
To post a note on this topic, please log in with your SitePoint username and password. If you don't have an account yet, you can create a new account for free.

