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.

* Some parts of this feature may have varying levels of support.

Die CSS align-content-Eigenschaft bestimmt die Verteilung des Raums zwischen und um die Inhaltselemente entlang einer Flexbox's Querachse oder einer Grid- oder Block-Level-Elements Blockachse.

Das interaktive Beispiel unten verwendet das Grid-Layout, um einige der Werte dieser Eigenschaft zu demonstrieren.

Probieren Sie es aus

align-content: start;
align-content: center;
align-content: space-between;
align-content: space-around;
One
Two
Three
#example-element {
  border: 1px solid #c5c5c5;
  display: grid;
  grid-template-columns: 60px 60px;
  grid-auto-rows: 40px;
  column-gap: 10px;
  height: 180px;
}

#example-element > div {
  background-color: rgba(0, 0, 255, 0.2);
  border: 3px solid blue;
}

Diese Eigenschaft hat keinen Effekt auf Flex-Container mit einer einzelnen Zeile (d.h. solche mit flex-wrap: nowrap).

Syntax

css
/* 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 werden in ihrer Standardposition gepackt, als ob kein align-content-Wert gesetzt wurde.

start

Die Elemente sind bündig miteinander gegen die Startkante des Ausrichtungscontainers in der Querachse gepackt.

center

Die Elemente sind bündig miteinander in der Mitte des Ausrichtungscontainers entlang der Querachse gepackt.

end

Die Elemente sind bündig miteinander gegen die Endkante des Ausrichtungscontainers in der Querachse gepackt.

flex-start

Die Elemente sind bündig miteinander gegen die Kante des Ausrichtungscontainers gepackt, abhängig von der Quer-Startseite 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 miteinander gegen die Kante des Ausrichtungscontainers gepackt, abhängig von der Quer-Endseite 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

Gibt die Teilnahme an der Ausrichtung der ersten oder letzten Baseline an: richtet die Ausrichtungsbaseline des Basislinien-Sets der Box mit der entsprechenden Basislinie im gemeinsamen ersten oder letzten Baseline-Set aller Boxen in ihrer Baseline-Teilungsgruppe aus.

Die Basislinie ist die Linie, auf der die meisten Buchstaben "sitzen" und unter der die Unterlängen hinausragen.

Die Ersatz-Ausrichtung für first baseline ist start, die für last baseline ist end.

space-between

Die Elemente sind gleichmäßig innerhalb des Ausrichtungscontainers entlang der Querachse verteilt. Der Abstand zwischen jedem Paar von benachbarten Elementen ist derselbe. Das erste Element ist bündig mit der Startkante des Ausrichtungscontainers in der Querachse, und das letzte Element ist bündig mit der Endkante des Ausrichtungscontainers in der Querachse.

space-around

Die Elemente sind gleichmäßig innerhalb des Ausrichtungscontainers entlang der Querachse verteilt. Der Abstand zwischen jedem Paar von benachbarten Elementen ist derselbe. Der Leerraum vor dem ersten und nach dem letzten Element ist halb so groß wie der Abstand 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, der Startkante und dem ersten Element sowie der Endkante und dem letzten Element ist exakt derselbe.

stretch

Wenn die kombinierte Größe der Elemente entlang der Querachse kleiner ist als die Größe des Ausrichtungscontainers, werden alle auto-größen Elemente gleichmäßig (nicht proportional) vergrößert, wobei die durch max-height/max-width (oder gleichwertige Funktionalität) auferlegten Einschränkungen respektiert werden, sodass die kombinierte Größe exakt den Ausrichtungscontainer entlang der Querachse ausfüllt.

safe

Wird zusammen mit einem Ausrichtungs-Schlüsselwort verwendet. Wenn das gewählte Schlüsselwort bedeutet, dass das Element den Ausrichtungscontainer überläuft und Datenverluste verursacht, wird das Element stattdessen so ausgerichtet, als wäre der Ausrichtungsmodus start.

unsafe

Wird zusammen mit einem Ausrichtungs-Schlüsselwort verwendet. Unabhängig von den relativen Größen des Elements und des Ausrichtungscontainers und ob ein Überlauf auftreten könnte, der Datenverluste verursacht, wird der gegebene Ausrichtungswert eingehalten.

Hinweis: Die -Werte (space-between, space-around, space-evenly und stretch) haben keine Wirkung im Block-Layout, da alle Inhalte in diesem Block als ein einziger Ausrichtungs-Subjekt behandelt werden.

Formale Definition

Anfangswertnormal
Anwendbar aufBlock-containers, multi-column containers, flex containers
VererbtNein
Berechneter Wertwie angegeben
Animationstypdiskret

Formale Syntax

align-content = 
normal |
|
|
?

=
[ first | last ]? &&
baseline

=
space-between |
space-around |
space-evenly |
stretch

=
unsafe |
safe

=
center |
start |
end |
flex-start |
flex-end

Beispiele

Effekte verschiedener align-content-Werte

In diesem Beispiel können Sie zwischen drei verschiedenen display-Eigenschaftenwerten wechseln, einschließlich flex, grid und block. Sie können auch zwischen den unterschiedlichen Werten für align-content wechseln.

HTML

html
Olive
Coral
Deep
sky
blue
Orchid
Slateblue
Maroon

CSS

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

Versuchen Sie, den display-Wert und den align-content-Wert zu ändern.

Im Block-Layout werden Kindelemente als ein einzelnes Element behandelt, was bedeutet, dass sich space-between, space-around und space-evenly anders 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

Siehe auch