width
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
* Some parts of this feature may have varying levels of support.
Die width-Eigenschaft von CSS legt die Breite eines Elements fest. Standardmäßig legt sie die Breite des Inhaltsbereichs fest, aber wenn box-sizing auf border-box gesetzt ist, legt sie die Breite des Randbereichs fest.
Probieren Sie es aus
width: 150px;
width: 20em;
width: 75%;
width: auto;
<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: white;
}
Der angegebene Wert von width gilt für den Inhaltsbereich, solange sein Wert innerhalb der durch min-width und max-width definierten Werte bleibt.
- Wenn der Wert von
widthkleiner als der Wert vonmin-widthist, überschreibtmin-widthdiewidth. - Wenn der Wert von
widthgrößer als der Wert vonmax-widthist, überschreibtmax-widthdiewidth.
Hinweis:
Als geometrische Eigenschaft gilt width auch für die <svg>, <rect>, <image> und <foreignObject> SVG-Elemente, wobei auto für <svg> zu 100% und für andere Elemente zu 0 aufgelöst wird und Prozentwerte sich auf die SVG-Ansichtsfensterbreite für <rect> beziehen. Der CSS-width-Eigenschaftswert überschreibt jeden auf dem SVG-Element gesetzten SVG-width-Attributwert.
Syntax
/* <length> values */
width: 300px;
width: 25em;
width: anchor-size(width);
width: anchor-size(--my-anchor 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;
Werte
<length>-
Definiert die Breite als einen Distanzwert.
<percentage>-
Definiert die Breite als Prozentsatz der Breite des umgebenden Blocks.
auto-
Der Browser berechnet und wählt eine Breite für das spezifizierte Element.
max-content-
Die intrinsische bevorzugte Breite.
min-content-
Die intrinsische Mindestbreite.
fit-content-
Nutzt den verfügbaren Platz, jedoch nicht mehr als max-content, d.h.
min(max-content, max(min-content, stretch)). fit-content(<length-percentage>)-
Verwendet die fit-content-Formel mit dem verfügbaren Platz, ersetzt durch das angegebene Argument, d.h.
min(max-content, max(min-content, <length-percentage>)). stretch-
Setzt die Breite der Randbox des Elements auf die Breite seines umgebenden Blocks. Es versucht, die Randbox zu füllen, indem es den verfügbaren Platz im umgebenden Block nutzt, verhält sich dabei ähnlich wie
100%, wendet jedoch die resultierende Größe auf die Randbox an, anstatt auf die durch box-sizing bestimmte Box.
Barrierefreiheit
Stellen Sie sicher, dass Elemente, die mit width gesetzt sind, nicht abgeschnitten werden und/oder keinen anderen Inhalt verdecken, wenn die Seite herangezoomt wird, um die Textgröße zu erhöhen.
Formale Definition
| Anfangswert | auto |
|---|---|
| Anwendbar auf | alle Elemente außer nicht ersetzte Inlineelemente, Tabellenzeilen und Zeilengruppen |
| Vererbt | Nein |
| Prozentwerte | bezieht sich auf die Breite des äußeren Elements |
| Berechneter Wert | ein Prozentwert oder auto oder die absolute Länge |
| Animationstyp | Längenangabe, Prozentsatz oder calc(); |
Formale Syntax
width =
auto |
<length-percentage [0,∞]> |
min-content |
max-content |
fit-content( <length-percentage [0,∞]> ) |
<calc-size()> |
<anchor-size()> |
stretch |
fit-content |
contain
<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> =
<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
Beispiele
>Standardbreite
p.gold {
background: gold;
}
<p class="gold">The MDN community writes really great documentation.</p>
Beispiel mit Pixeln und 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>
Beispiel mit Prozentwerten
.percent {
width: 20%;
background-color: silver;
border: 1px solid red;
}
<div class="percent">Width in percentage</div>
Beispiel mit "max-content"
p.max-green {
background: lightgreen;
width: max-content;
}
<p class="max-green">The MDN community writes really great documentation.</p>
Beispiel mit "min-content"
p.min-blue {
background: lightblue;
width: min-content;
}
<p class="min-blue">The MDN community writes really great documentation.</p>
Breite strecken, um den umgebenden Block zu füllen
HTML
<div class="parent">
<div class="child">text</div>
</div>
<div class="parent">
<div class="child stretch">stretch</div>
</div>
CSS
.parent {
border: solid;
margin: 1rem;
display: flex;
}
.child {
background: #00999999;
margin: 1rem;
}
.stretch {
width: stretch;
}
Ergebnis
Spezifikationen
| Specification |
|---|
| CSS Box Sizing Module Level 4> # sizing-values> |
Browser-Kompatibilität
Siehe auch
heightbox-sizingmin-width,max-widthblock-size,inline-sizeanchor-size()- SVG
widthAttribut - Einführung in das CSS-Box-Modell Leitfaden
- CSS-Box-Modell Modul