width
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.
Die width
CSS-Eigenschaft legt die Breite eines Elements fest. Standardmäßig wird die Breite des Inhaltsbereichs gesetzt. Ist jedoch box-sizing
auf border-box
eingestellt, wird die Breite des Randbereichs festgelegt.
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: #ffffff;
}
Der angegebene Wert von width
gilt für den Inhaltsbereich, solange dieser Wert innerhalb der durch min-width
und max-width
definierten Werte bleibt.
- Wenn der Wert für
width
kleiner ist als der Wert fürmin-width
, dann überschreibtmin-width
denwidth
-Wert. - Wenn der Wert für
width
größer ist als der Wert fürmax-width
, dann überschreibtmax-width
denwidth
-Wert.
Hinweis:
Als geometrische Eigenschaft gilt width
auch für die SVG-Elemente <svg>
, <rect>
, <image>
und <foreignObject>
, wobei auto
bei <svg>
auf 100%
und bei anderen Elementen auf 0
aufgelöst wird und Prozentwerte relativ zur SVG-Viewport-Breite bei <rect>
sind. Der CSS width
-Eigenschaftswert überschreibt jeden SVG width
-Attributwert, der auf dem SVG-Element gesetzt ist.
Syntax
/* <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;
Werte
<length>
-
Definiert die Breite als Distanzwert.
<percentage>
-
Definiert die Breite als Prozentsatz der Breite des umgebenden Blocks.
auto
-
Der Browser berechnet und wählt eine Breite für das angegebene Element aus.
max-content
-
Die intrinsische bevorzugte Breite.
min-content
-
Die intrinsische Mindestbreite.
fit-content
-
Nutzt den verfügbaren Raum, aber 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 Raum, der durch das angegebene Argument ersetzt wird, d.h.
min(max-content, max(min-content, <length-percentage>))
. stretch
-
Setzt die Breite des Randbereichs des Elements auf die Breite seines umgebenden Blocks. Es wird versucht, den Randbereich so zu füllen, dass er den verfügbaren Raum im umgebenden Block ausnutzt, verhält sich also ähnlich wie
100%
, wendet jedoch die resultierende Größe auf den Randbereich an, anstatt auf den durch box-sizing bestimmten Bereich.
Barrierefreiheit
Stellen Sie sicher, dass mit einer width
-Eigenschaft versehene Elemente nicht abgeschnitten werden und/oder andere Inhalte nicht verdecken, wenn die Seite vergrößert 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()>
<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 ausdehnen, 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: #0999;
margin: 1rem;
}
.stretch {
width: stretch;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Box Sizing Module Level 4 # width-height-keywords |
CSS Box Sizing Module Level 4 # sizing-values |
Browser-Kompatibilität
Siehe auch
height
box-sizing
min-width
,max-width
block-size
,inline-size
anchor-size()
- SVG
width
Attribut - Einführung in das CSS Box-Modell Leitfaden
- CSS Box-Modell Modul