align-content
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
Die CSS align-content
Eigenschaft legt die Verteilung des Raums zwischen und um Inhaltselemente entlang der flexbox Querachse oder der Blockachse eines Raster oder Block-Level Elements fest.
Das interaktive Beispiel unten verwendet das Raster-Layout, um einige der Werte dieser Eigenschaft zu demonstrieren.
Probieren Sie es aus
Diese Eigenschaft hat keine Auswirkung auf einzeilige Flex-Container (d. h. solche mit flex-wrap: nowrap
).
Syntax
/* Normal alignment */
align-content: normal;
/* Basic positional alignment */
/* align-content does not take left and right values */
align-content: start;
align-content: center;
align-content: end;
align-content: flex-start;
align-content: flex-end;
/* Baseline alignment */
align-content: baseline;
align-content: first baseline;
align-content: last baseline;
/* Distributed alignment */
align-content: space-between;
align-content: space-around;
align-content: space-evenly;
align-content: stretch;
/* Overflow alignment */
align-content: safe center;
align-content: unsafe center;
/* Global values */
align-content: inherit;
align-content: initial;
align-content: revert;
align-content: revert-layer;
align-content: unset;
Werte
normal
-
Die Elemente sind in ihrer Standardposition, als ob kein
align-content
Wert gesetzt wäre. start
-
Die Elemente sind bündig aneinander ausgerichtet am Anfangsrand des Ausrichtungscontainers in der Querachse.
center
-
Die Elemente sind bündig aneinander ausgerichtet im Zentrum des Ausrichtungscontainers entlang der Querachse.
end
-
Die Elemente sind bündig aneinander ausgerichtet am Endrand des Ausrichtungscontainers in der Querachse.
flex-start
-
Die Elemente sind bündig aneinander ausgerichtet am Rand des Ausrichtungscontainers je nach cross-start Seite des Flex-Containers. Dies gilt nur für Flex-Layout-Elemente. Für Elemente, die keine Kinder eines Flex-Containers sind, wird dieser Wert wie
start
behandelt. flex-end
-
Die Elemente sind bündig aneinander ausgerichtet am Rand des Ausrichtungscontainers je nach cross-end Seite des Flex-Containers. Dies gilt nur für Flex-Layout-Elemente. Für Elemente, die keine Kinder eines Flex-Containers sind, wird dieser Wert wie
end
behandelt. baseline
,first baseline
,last baseline
-
Spezifiziert die Teilnahme an der Ausrichtung der ersten- oder letzten-Basislinie: richtet die Ausrichtungs-Basislinie des ersten oder letzten Baselinesets der Box an der entsprechenden Basislinie im gemeinsamen ersten oder letzten Baselineset aller Boxen in ihrer Baseline-Sharing-Gruppe aus.
Die Standardausrichtung für
first baseline
iststart
, die fürlast baseline
istend
. space-between
-
Die Elemente sind gleichmäßig innerhalb des Ausrichtungscontainers entlang der Querachse verteilt. Der Abstand zwischen jedem Paar benachbarter Elemente ist derselbe. Das erste Element ist bündig mit dem Start-Rand des Ausrichtungscontainers in der Querachse und das letzte Element ist bündig mit dem Endrand des Ausrichtungscontainers in der Querachse.
space-around
-
Die Elemente sind gleichmäßig innerhalb des Ausrichtungscontainers entlang der Querachse verteilt. Der Abstand zwischen jedem Paar benachbarter Elemente ist derselbe. Der Leerraum vor dem ersten und nach dem letzten Element entspricht der Hälfte des Abstands zwischen jedem Paar benachbarter Elemente.
space-evenly
-
Die Elemente sind gleichmäßig innerhalb des Ausrichtungscontainers entlang der Querachse verteilt. Der Abstand zwischen jedem Paar benachbarter Elemente, dem Startrand und dem ersten Element, und dem Endrand und dem letzten Element sind alle genau gleich.
stretch
-
Wenn die kombinierte Größe der Elemente entlang der Querachse kleiner ist als die Größe des Ausrichtungscontainers, wird die Größe von
auto
-dimensionierten Elementen gleichermaßen (nicht proportional) vergrößert, während die durchmax-height
/max-width
(oder gleichwertige Funktionalität) auferlegten Einschränkungen respektiert werden, sodass die kombinierte Größe den Ausrichtungscontainer entlang der Querachse genau füllt. safe
-
Wird zusammen mit einem Ausrichtungsbegriff verwendet. Wenn das gewählte Schlüsselwort bedeutet, dass das Element den Ausrichtungscontainer überläuft, was zu Datenverlust führt, wird das Element stattdessen so ausgerichtet, als ob der Ausrichtungsmodus
start
wäre. unsafe
-
Wird zusammen mit einem Ausrichtungsbegriff verwendet. Unabhängig von den relativen Größen des Elements und des Ausrichtungscontainers und ob ein Überlauf, der Datenverlust verursachen könnte, auftritt, wird der gegebene Ausrichtungswert berücksichtigt.
Hinweis: Die <content-distribution>
Werte (space-between
, space-around
, space-evenly
, und stretch
) haben im Block-Layout keine Auswirkung, da der gesamte Inhalt in diesem Block als ein einzelnes Ausrichtungssubjekt behandelt wird.
Formale Definition
Initialer Wert | normal |
---|---|
Anwendbar auf | Block-containers, multi-column containers, flex containers |
Vererbt | Nein |
Berechneter Wert | wie angegeben |
Animationstyp | diskret |
Formale Syntax
align-content =
normal |
<baseline-position> |
<content-distribution> |
<overflow-position>? <content-position>
<baseline-position> =
[ first | last ]? &&
baseline
<content-distribution> =
space-between |
space-around |
space-evenly |
stretch
<overflow-position> =
unsafe |
safe
<content-position> =
center |
start |
end |
flex-start |
flex-end
Beispiele
Auswirkungen verschiedener align-content
Werte
In diesem Beispiel können Sie zwischen drei verschiedenen display
Eigenschaftswerten wechseln, einschließlich flex
, grid
, und block
. Sie können auch zwischen den verschiedenen Werten für align-content
wechseln.
HTML
<section>
<div class="olive">Olive</div>
<div class="coral">Coral</div>
<div class="deepskyblue">Deep<br />sky<br />blue</div>
<div class="orchid">Orchid</div>
<div class="slateblue">Slateblue</div>
<div class="maroon">Maroon</div>
</section>
CSS
section {
border: solid 1.5px tomato;
height: 300px;
width: 300px;
flex-wrap: wrap; /* used by flex only */
gap: 0.2rem; /* not used by block */
}
.olive {
background-color: olive;
}
.coral {
background-color: coral;
}
.deepskyblue {
background-color: deepskyblue;
}
.orchid {
background-color: orchid;
}
.slateblue {
background-color: slateblue;
color: white;
}
.maroon {
background-color: maroon;
color: white;
}
Ergebnis
Ändern Sie den display
Wert und den align-content
Wert.
Im Block-Layout werden Kindelemente als einzelnes Element behandelt, was bedeutet, dass space-between
, space-around
und space-evenly
unterschiedlich verhalten.
Spezifikationen
Specification |
---|
CSS Box Alignment Module Level 3 # align-justify-content |
CSS Flexible Box Layout Module Level 1 # align-content-property |
Browser-Kompatibilität
BCD tables only load in the browser