min-width
min-width
The min-width
property is used to set the minimum width of a given element. It prevents the used value of the width
property from becoming smaller than the value specified for min-width
.
The element width is set to the value of min-width
whenever min-width
is larger than max-width
or whenever min-width
is larger than width
.
Initial value | 0 |
---|---|
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 |
Animation type | a length, percentage or calc(); |
Canonical order | the unique non-ambiguous order defined by the formal grammar |
Syntax
/* <length> value */ min-width: 3.5em; /* <percentage> value */ min-width: 10%; /* Keyword values */ min-width: max-content; min-width: min-content; min-width: fit-content; min-width: fill-available; /* Global values */ min-width: inherit; min-width: initial; min-width: unset;
Values
<length>
- The fixed minimum width. See
<length>
for possible units. Negative values make the declaration invalid. <percentage>
- The fixed minimum width expressed as a
<percentage>
of containing block's width. Negative values make the declaration invalid. auto
- The default minimum size for flex items, providing a more reasonable default than 0 for other layouts.
-
max-content
- The intrinsic preferred width.
-
min-content
- The intrinsic minimum width.
-
fill-available
- The containing block width minus horizontal margin, border and padding. Some browsers implement an ancient name for this keyword,
available
. -
fit-content
- Defined as
min(max-content, max(min-content, fill-available)
.
Formal syntax
<length> | <percentage> | auto | max-content | min-content | fit-content | fill-available
Examples
table { min-width: 75%; } form { min-width: 0; }
Specifications
Specification | Status | Comment |
---|---|---|
CSS Intrinsic & Extrinsic Sizing Module Level 3 The definition of 'min-width' in that specification. | Working Draft | Adds the max-content , min-content , fit-content , and fill-available keywords. (At some times in the past, both CSS3 Box and CSS3 Writing Modes drafts defined these keywords. These drafts has been superseded by this specification.) |
CSS Flexible Box Layout Module The definition of 'min-width' in that specification. | Candidate Recommendation | Added the auto keyword and used it as the initial value. |
CSS Transitions The definition of 'min-width' in that specification. | Working Draft | Defines min-width as animatable. |
CSS Level 2 (Revision 1) The definition of 'min-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.0) | 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
| 24.0 -webkit [3] | No support | 3.0 (1.9) -moz [2] | No support | No support | No support [3] |
auto | 21.0 [4] | ? |
16.0 (16.0) [4] Removed in 22.0 (22.0) Reintroduced in 34.0 (34.0) with the new behavior defined by the spec. | No support | 12.10 [6] | No support |
auto as initial value
| 21.0 | ? |
18.0 (18.0) Removed in 22.0 (22.0) | No support | 12.10 | No support |
Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | ? | ? | (Yes) | ? | ? | ? | ?[5] |
applies to <table> [1] | ? | ? | No support | ? | ? | ? | ? |
max-content , min-content , fit-content , and fill- available
| ? | ? | No support | ? | ? | ? | ? |
auto | ? | ? | ? | ? | ? | ? | ? |
auto as initial value
| ? | ? | ? | ? | ? | ? | ? |
[1] CSS 2.1 explicitly leaves the behavior of min-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 Intrinsic.
[3] WebKit also implements an earlier proposal, the keyword intrinsic
.
[4] These implementations where implementing a slightly simpler behavior for this keyword: it computed to min-content
on flex items, and it computes to 0
on everything else.
[5] In some browsers, on iOS, a <button> element in its native (default) configuration will not respond to min-width. This problem is due to native buttons. A <span> inside a native button will exhibit the same problem, despite having "display:inline-block" set. When changes are made to other style parameters and the browser is forced to abandon the native button, the min-width setting takes affect.
See also
-
width
,max-width
,min-height
- The box model,
box-sizing
© 2005–2017 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/min-width