Baseline Widely available *
The width
CSS property sets an element's width. By default, it sets the width of the content area, but if box-sizing
is set to border-box
, it sets the width of the border area.
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">
This is a box where you can change the width.
</div>
</section>
#example-element {
display: flex;
flex-direction: column;
background-color: #5b6dcd;
height: 80%;
justify-content: center;
color: #ffffff;
}
The specified value of width
applies to the content area so long as its value remains within the values defined by min-width
and max-width
.
width
is less than the value for min-width
, then min-width
overrides width
.width
is greater than the value for max-width
, then max-width
overrides width
.Note: As a geometric property, width
also applies to the <svg>
, <rect>
, <image>
, and <foreignObject>
SVG elements, with auto
resolving to 100%
for <svg>
and 0
for other elements, and percent values being relative to the SVG viewport width for <rect>
. The CSS width
property value overrides any SVG width
attribute value set on the SVG element.
/* <length> values */
width: 300px;
width: 25em;
width: anchor-size(width);
width: anchor-size(--myAnchor inline, 120%);
/* <percentage> value */
width: 75%;
/* Keyword values */
width: max-content;
width: min-content;
width: fit-content;
width: fit-content(20em);
width: auto;
width: stretch;
/* Global values */
width: inherit;
width: initial;
width: revert;
width: revert-layer;
width: unset;
Values
<length>
Defines the width as a distance value.
<percentage>
Defines the width as a percentage of the containing block's width.
auto
The browser will calculate and select a width for the specified element.
max-content
The intrinsic preferred width.
min-content
The intrinsic minimum 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, <length-percentage>))
.
stretch
Sets the 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.
Ensure that elements set with a width
aren't truncated and/or don't obscure other content when the page is zoomed to increase text size.
width =Examples Default width
auto |
<length-percentage [0,â]> |
min-content |
max-content |
fit-content( <length-percentage [0,â]> ) |
<calc-size()> |
<anchor-size()><length-percentage> =
<length> |
<percentage><calc-size()> =
calc-size( <calc-size-basis> , <calc-sum> )<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )<calc-size-basis> =
<intrinsic-size-keyword> |
<calc-size()> |
any |
<calc-sum><calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*<anchor-name> =
<dashed-ident><anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline<calc-product> =
<calc-value> [ [ '*' | / ] <calc-value> ]*<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN
p.gold {
background: gold;
}
<p class="gold">The MDN community writes really great documentation.</p>
Example using pixels and ems
.px_length {
width: 200px;
background-color: red;
color: white;
border: 1px solid black;
}
.em_length {
width: 20em;
background-color: white;
color: red;
border: 1px solid black;
}
<div class="px_length">Width measured in px</div>
<div class="em_length">Width measured in em</div>
Example with percentage
.percent {
width: 20%;
background-color: silver;
border: 1px solid red;
}
<div class="percent">Width in percentage</div>
Example using "max-content"
p.max-green {
background: lightgreen;
width: max-content;
}
<p class="max-green">The MDN community writes really great documentation.</p>
Example using "min-content"
p.min-blue {
background: lightblue;
width: min-content;
}
<p class="min-blue">The MDN community writes really great documentation.</p>
Stretch width to fill the containing block HTML
<div class="parent">
<div class="child">text</div>
</div>
<div class="parent">
<div class="child stretch">stretch</div>
</div>
CSS
@supports not (width: stretch) {
.parent {
display: none !important;
}
body::after {
content: "Your browser doesn't support the `stretch` value yet.";
}
}
.parent {
border: solid;
margin: 1rem;
display: flex;
}
.child {
background: #0999;
margin: 1rem;
}
.stretch {
width: stretch;
}
Result Specifications Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3