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 column-gap CSS-Eigenschaft legt die Größe der Lücke (Gutter) zwischen den Spalten eines Elements fest.

Ursprünglich Teil des Multi-column Layout, wurde die Definition von column-gap erweitert, um verschiedene Layoutverfahren einzuschließen. Nun in der CSS box alignment festgelegt, kann sie in mehrspaltigen Layouts, flexiblen Box-Layouts und Rasterlayouts verwendet werden.

Frühere Versionen der Spezifikation nannten diese Eigenschaft grid-column-gap, und um die Kompatibilität mit älteren Websites zu gewährleisten, akzeptieren Browser weiterhin grid-column-gap als Alias für column-gap.

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> values */
column-gap: 3px;
column-gap: 2.5em;

/* <percentage> value */
column-gap: 3%;

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

Die column-gap-Eigenschaft wird als einer der unten aufgeführten Werte angegeben.

Werte

normal

Der Standardabstand des Browsers wird zwischen den Spalten verwendet. Für mehrspaltige Layouts wird dies als 1em und für alle anderen Layouttypen als 0 angegeben.

<length>

Die Größe der Lücke zwischen den Spalten, definiert als <length>. Der Wert der <length>-Eigenschaft muss nicht negativ sein.

<percentage>

Die Größe der Lücke zwischen den Spalten, definiert als <percentage>. Der Wert der <percentage>-Eigenschaft muss nicht negativ sein.

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

Flex-Layout

In diesem Beispiel enthält ein Flex-Container sechs Flex-Elemente mit zwei unterschiedlichen Breiten (200px und 300px), wodurch Flex-Elemente erstellt werden, die nicht als Raster angeordnet sind. Die column-gap-Eigenschaft wird verwendet, um horizontalen Abstand zwischen den angrenzenden Flex-Elementen hinzuzufügen.

HTML

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

CSS

Um einen Flex-Container zu erstellen, setzen wir seinen Wert der display-Eigenschaft auf flex. Wir verwenden dann die flex-flow-Kurzschreibweise, um die flex-direction auf Zeile (Standard) und flex-wrap auf wrap zu setzen, sodass die Flex-Elemente bei Bedarf auf neue Zeilen fließen können. Standardmäßig dehnen sich Flex-Elemente auf die Höhe ihres Containers aus. Durch Festlegen einer height sind selbst leere Flex-Elemente 100px hoch.

Um die column-gap-Eigenschaft besser zu demonstrieren, haben die Flex-Elemente in diesem Beispiel zwei unterschiedliche Breitenwerte. Die Breite der Flex-Elemente wird innerhalb der <div> Flex-Elemente festgelegt. Wir verwenden die flex-basis-Komponente der flex-Kurzschreibweise, um alle Flex-Elemente 200px breit zu machen. Dann zielen wir jedes dritte Flex-Element mit dem :nth-of-type(3n)-Selektor an und erweitern sie auf 300px.

Der column-gap-Wert wird auf 20px im Flex-Container gesetzt, um einen 20px-Abstand zwischen den angrenzenden Flex-Elementen in jeder Zeile zu schaffen.

css
.flexbox {
  display: flex;
  flex-flow: row wrap;
  height: 100px;
  column-gap: 20px;
}

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

Ergebnis

Hinweis: Während es horizontalen Abstand zwischen den angrenzenden Flex-Elementen in jeder Flex-Zeile gibt, gibt es keinen Abstand zwischen den Zeilen. Um vertikalen Abstand zwischen Flex-Zeilen zu setzen, können Sie einen Nicht-Null-Wert für die row-gap-Eigenschaft angeben. Die gap-Kurzschreibweise steht auch zur Verfügung, um sowohl den row-gap als auch den column-gap in einer Deklaration in dieser Reihenfolge zu setzen.

Grid-Layout

HTML

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

CSS

css
#grid {
  display: grid;
  height: 100px;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 100px;
  column-gap: 20px;
}

#grid > div {
  border: 1px solid green;
  background-color: lime;
}

Ergebnis

Mehrspalten-Layout

HTML

html
<p class="content-box">
  This is some multi-column text with a 40px column gap created with the CSS
  `column-gap` property. Don't you think that's fun and exciting? I sure do!
</p>

CSS

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

Ergebnis

Spezifikationen

Spezifikation
CSS Box Alignment Module Level 3
# column-row-gap
CSS Grid Layout Module Level 2
# gutters
CSS Multi-column Layout Module Level 1
# column-gap

Browser-Kompatibilität

Siehe auch