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 legt die Verteilung des Raums zwischen und um Inhaltsobjekte auf einer Flexbox's Querachse oder der Blockachse eines Grid oder block-level Elements fest.

Das folgende interaktive Beispiel 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;
<section class="default-example" id="default-example">
  <div class="example-container">
    <div class="transition-all" id="example-element">
      <div>One</div>
      <div>Two</div>
      <div>Three</div>
    </div>
  </div>
</section>
#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 keine Auswirkung auf einzeilige Flex-Container (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 Objekte sind in ihrer Standardposition gepackt, als ob kein align-content Wert gesetzt wäre.

start

Die Objekte sind bündig zueinander gegen den Startkante des Ausrichtungscontainers auf der Querachse gepackt.

center

Die Objekte sind bündig zueinander im Zentrum des Ausrichtungscontainers entlang der Querachse gepackt.

end

Die Objekte sind bündig zueinander gegen den Endkante des Ausrichtungscontainers auf der Querachse gepackt.

flex-start

Die Objekte sind bündig zueinander gegen die Kante des Ausrichtungscontainers, abhängig von der Startseite der Flex-Container-Querachse gepackt. Dies gilt nur für Objekte im Flex-Layout. Für Objekte, die keine Kinder eines Flex-Containers sind, wird dieser Wert wie start behandelt.

flex-end

Die Objekte sind bündig zueinander gegen die Kante des Ausrichtungscontainers, abhängig von der Endseite der Flex-Container-Querachse gepackt. Dies gilt nur für Objekte im Flex-Layout. Für Objekte, die keine Kinder eines Flex-Containers sind, wird dieser Wert wie end behandelt.

baseline, first baseline, last baseline

Gibt die Teilnahme an der Ausrichtung an der ersten oder letzten Basislinie an: richtet die Ausrichtungsbasislinie des ersten oder letzten Basissatzes der Box mit der entsprechenden Basislinie im gemeinsamen ersten oder letzten Basissatz aller Boxen in ihrer Gruppe mit Basisausrichtungsbeteiligung aus.

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

Die Ausweichausrichtung für first baseline ist start, die für last baseline ist end.

space-between

Die Objekte sind gleichmäßig innerhalb des Ausrichtungscontainers entlang der Querachse verteilt. Der Abstand zwischen jedem Paar benachbarter Objekte ist gleich. Das erste Objekt ist bündig mit der Startkante des Ausrichtungscontainers auf der Querachse, das letzte Objekt ist bündig mit der Endkante des Ausrichtungscontainers auf der Querachse.

space-around

Die Objekte sind gleichmäßig innerhalb des Ausrichtungscontainers entlang der Querachse verteilt. Der Abstand zwischen jedem Paar benachbarter Objekte ist gleich. Der Leerraum vor dem ersten und nach dem letzten Objekt ist halb so groß wie der zwischen jedem Paar benachbarter Objekte.

space-evenly

Die Objekte sind gleichmäßig innerhalb des Ausrichtungscontainers entlang der Querachse verteilt. Der Abstand zwischen jedem Paar benachbarter Objekte, der Startkante und dem ersten Objekt sowie der Endkante und dem letzten Objekt ist genau gleich.

stretch

Wenn die kombinierte Größe der Objekte entlang der Querachse kleiner als die des Ausrichtungscontainers ist, wird die Größe von auto-großen Objekten gleichmäßig (nicht proportional) erhöht, wobei die durch max-height/ max-width (oder äquivalente Funktionalität) auferlegten Einschränkungen respektiert werden, sodass die kombinierte Größe den Ausrichtungscontainer entlang der Querachse genau ausfüllt.

safe

Wird zusammen mit einem Ausrichtungsstichwort verwendet. Wenn das gewählte Stichwort bedeutet, dass das Objekt den Ausrichtungscontainer überläuft und zu Datenverlust führt, wird das Objekt so ausgerichtet, als wäre der Ausrichtungsmodus start.

unsafe

Wird zusammen mit einem Ausrichtungsstichwort verwendet. Unabhängig von den relativen Größen des Objekts und des Ausrichtungscontainers und unabhängig davon, ob ein Überlauf, der zu Datenverlust führt, auftreten könnte, wird der angegebene Ausrichtungswert beachtet.

Hinweis: Die <content-distribution> Werte (space-between, space-around, space-evenly und stretch) haben im Block-Layout keine Wirkung, da der gesamte Inhalt in diesem Block als ein einziges Ausrichtungsobjekt behandelt wird.

Formale Definition

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

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-Eigenschaftenwerten wechseln, einschließlich flex, grid und block. Sie können auch zwischen den verschiedenen Werten für align-content wechseln.

HTML

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

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 Kind-Elemente als ein einzelnes Element behandelt, was bedeutet, dass space-between, space-around und space-evenly anders funktionieren.

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