Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

column-gap CSS property

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die CSS-Eigenschaft column-gap legt die Größe des Abstands (Gutter) zwischen den Spalten eines Elements in mehrspaltigen Layouts, Flexbox-Layouts und Grid-Layouts fest.

Probieren Sie es aus

column-gap: 0;
column-gap: 10%;
column-gap: 1em;
column-gap: 20px;
<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>Four</div>
      <div>Five</div>
    </div>
  </div>
</section>
#example-element {
  border: 1px solid #c5c5c5;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 200px;
}

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

Syntax

css
/* Keyword value */
column-gap: normal;

/* <length-percentage> value */
column-gap: 3px;
column-gap: 2.5em;
column-gap: 3%;
column-gap: calc(3% - 6px);

/* <line-width> keyword value */
column-gap: thin;
column-gap: medium;
column-gap: thick;

/* Global values */
column-gap: inherit;
column-gap: initial;
column-gap: revert;
column-gap: revert-layer;
column-gap: unset;

Werte

Diese Eigenschaft wird durch einen einzelnen Wert aus der folgenden Liste angegeben:

normal

Setzt den Abstand in mehrspaltigen Layouts auf 1em, andernfalls auf 0. Dies ist der Standardwert.

<line-width>

Legt die Größe des Abstands mit den Schlüsselwörtern thin, medium oder thick oder mit einem positiven <length>-Wert fest.

<length-percentage>

Legt einen nicht negativen <length>- oder <percentage>-Wert fest. Prozentangaben beziehen sich auf die Inline-Größe der Content-Box.

Beschreibung

Die Eigenschaft column-gap legt die Größe des Abstands zwischen den Spalten eines Elements fest. Sie definiert einen Abstand fester Länge zwischen Elementen in einem Container und trennt die Boxen entlang der Inline-Achse des Containers. Negative Werte sind ungültig. In mehrspaltigen Containern sind die Spaltenabstände standardmäßig 1em breit. Zwischen Grid-Spalten sowie zwischen Flex-Elementen oder Flex-Zeilen wird dagegen standardmäßig kein Abstand eingefügt. Weitere Informationen zu Abständen je nach Layouttyp finden Sie unter CSS-Abstände definieren.

Prozentangaben werden relativ zur Größe der Content-Box des Containerelements entlang seiner Inline-Achse berechnet, sofern diese Größe feststeht; andernfalls werden sie relativ zu 0 berechnet. Eine Ausnahme bildet das Grid-Layout: Dort werden zyklische Prozentwerte bei der Bestimmung von Beiträgen zur intrinsischen Größe zu null aufgelöst, beim Layout der Inhalte jedoch relativ zur Content-Box des Elements. Weitere Informationen finden Sie unter Abstandswerte als Prozentangaben festlegen.

Der Spaltenabstand kann als Abstandsdekoration eine sichtbare Trennlinie enthalten. Um eine Linie zwischen den Spalten zu zeichnen, verwenden Sie column-rule oder die Kurzschreibweise rule. Die Linie erscheint in der Mitte des Abstands, beeinflusst aber nicht dessen Größe.

Die Eigenschaft column-gap kann zusammen mit row-gap auch über die Kurzschreibweise gap festgelegt werden. Diese setzt row-gap und column-gap in einer einzigen Deklaration, und zwar in dieser Reihenfolge.

Die Eigenschaft column-gap hat grid-column-gap ersetzt. Diese Eigenschaft wurde ursprünglich in CSS Grid Layout definiert, um Abstände zwischen Grid-Spalten zu erzeugen. grid-column-gap ist heute ein Alias für column-gap.

Formale Definition

Anfangswertnormal
Anwendbar aufmulti-column elements, flex containers, grid containers
VererbtNein
Prozentwertebeziehen sich auf die entsprechende Dimension des Inhaltsbereichs
Berechneter Wertas specified, with <length>s made absolute, and normal computing to zero except on multi-column elements
AnimationstypLängenangabe, Prozentsatz oder calc();

Formale Syntax

column-gap = 
normal |
<length-percentage [0,∞]> |
<line-width>

<length-percentage> =
<length> |
<percentage>

<line-width> =
<length [0,∞]> |
hairline |
thin |
medium |
thick

Beispiele

Flexbox-Layout

Dieses Beispiel zeigt, wie Sie mit column-gap horizontalen Abstand zwischen benachbarten Flex-Elementen erzeugen.

HTML

Wir fügen sechs Elemente in ein Containerelement ein:

html
<div class="flexbox">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>

CSS

Wir setzen die Eigenschaft display auf flex und flex-flow auf row wrap. So entsteht ein Flex-Container mit mehreren Zeilen, in die die Elemente bei Bedarf umgebrochen werden können. Die Flex-Elemente erhalten jeweils eine Flex-Basis von 200px oder 300px.

Mit der Eigenschaft column-rule definieren wir eine Spaltenlinie. column-gap wird für den Flex-Container auf 20px gesetzt. Dadurch entsteht zwischen benachbarten Flex-Elementen in jeder Zeile ein Abstand von 20px. Die Spaltenlinie wird in der Mitte dieses Abstands gezeichnet.

css
.flexbox {
  display: flex;
  flex-flow: row wrap;
  column-rule: 1px solid magenta;

  column-gap: 20px;
}

.flexbox > div {
  border: 1px solid green;
  background-color: lime;
  height: 35px;
  flex: 200px;
}
div:nth-of-type(3n) {
  flex: 300px;
}

Ergebnis

Um einen vertikalen Abstand zwischen Flex-Zeilen festzulegen, geben Sie für die Eigenschaft row-gap einen Wert größer als null an. Optional können Sie row-gap und column-gap gemeinsam mit der Kurzschreibweise gap festlegen.

Grid-Layout

Dieses Beispiel zeigt die Verwendung von column-gap mit einem <percentage>-Wert in einem Grid-Layout. Es zeigt außerdem, dass die Größe von column-gap nicht von der Breite der Spaltenlinie beeinflusst wird.

HTML

Wir fügen sieben Elemente in ein Containerelement ein:

html
<div id="grid">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>

CSS

Wir setzen display auf grid, width auf 400px und grid-template-columns auf repeat(3, 1fr). Dadurch entsteht ein 400px breiter Grid-Container mit drei Spalten und so vielen Zeilen wie nötig. Jede Zeile ist 100px hoch, wie durch die Eigenschaft grid-auto-rows festgelegt. Jedes ungerade Grid-Element hat die Hintergrundfarbe lime; die geraden Grid-Elemente sind halbtransparent.

Außerdem haben wir eine sehr breite, halbtransparente column-rule festgelegt. Damit zeigen wir, dass die Linie hinter dem Inhalt gezeichnet wird und ihre Breite keinen Einfluss auf die Größe des Abstands hat. column-gap ist auf 5% gesetzt, wodurch ein 20px breiter Abstand entsteht.

css
#grid {
  display: grid;
  width: 400px;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 100px;
  column-rule: 30px solid #ff00ff33;

  column-gap: 5%;
}

#grid > div {
  outline: 1px solid green;
  background-color: lime;
}
#grid > div:nth-of-type(even) {
  background-color: #00ff0033;
}

Ergebnis

Die Spaltenlinie ist breiter als der Spaltenabstand und nur dort sichtbar, wo die darüber gezeichneten Elemente halbtransparent sind.

Mehrspaltiges Layout

Dieses Beispiel zeigt die Verwendung von column-gap mit einem <line-width>-Schlüsselwort in einem mehrspaltigen Layout.

HTML

html
<p class="content-box">
  This is some multi-column text with a thin column gap created with the CSS
  `column-gap` property. The `normal` default value for the `column-gap`
  property in multi-col layout is 1em.
</p>

CSS

css
.content-box {
  column-count: 3;
  column-gap: thin;
}

Ergebnis

Spezifikationen

Spezifikation
CSS Gaps Module Level 1
# column-row-gap
CSS Grid Layout Module Level 2
# gutters
CSS Multi-column Layout Module Level 1
# column-gap

Browser-Kompatibilität

Siehe auch