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

View in English Always switch to English

columns CSS-Eigenschaft

Baseline Weitgehend verfügbar

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

Die columns CSS Kurzform-Eigenschaft legt die maximale Anzahl von Spalten fest, die beim Zeichnen des Inhalts eines Elements verwendet werden, sowie die Mindestbreite und maximale Höhe der Spalten des Elements.

Probieren Sie es aus

columns: 2;
columns: 6rem auto;
columns: 12em;
columns: 2 / 5em;
<section id="default-example">
  <p id="example-element">
    London. Michaelmas term lately over, and the Lord Chancellor sitting in
    Lincoln's Inn Hall. Implacable November weather. As much mud in the streets
    as if the waters had but newly retired from the face of the earth, and it
    would not be wonderful to meet a Megalosaurus, forty feet long or so,
    waddling like an elephantine lizard up Holborn Hill.
  </p>
</section>
#example-element {
  min-width: 21rem;
  text-align: left;
}

Zusammengesetzte Eigenschaften

Diese Eigenschaft ist eine Kurzform für die folgenden CSS-Eigenschaften:

Syntax

css
/* Column width */
columns: 18em;

/* Column count */
columns: auto;
columns: 2;

/* Column width and count */
columns: 2 auto;
columns: auto 12em;
columns: auto auto;

/* Column width and/or count, and column height */
columns: 18em / 10em;
columns: 2 / 90vh;
columns: 2 auto / 300px;

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

Der Wert der columns-Eigenschaft kann als <column-count> und/oder als <column-width>-Wert in beliebiger Reihenfolge angegeben werden, optional gefolgt von einem <column-height>-Wert, der von einem Schrägstrich (/) vorangestellt wird.

Werte

<'column-width'>

Die ideale Spaltenbreite, definiert als ein <length> oder das Schlüsselwort auto. Die tatsächliche Breite kann breiter oder schmaler sein, um in den verfügbaren Raum zu passen. Siehe column-width.

<'column-count'>

Die ideale Anzahl von Spalten, in die der Inhalt des Elements aufgeteilt werden soll, definiert als ein <integer> oder das Schlüsselwort auto. Wenn es als <integer> angegeben ist, definiert es die maximal zulässige Anzahl von Spalten. Siehe column-count.

<'column-height'>

Die Höhe der Spalten, definiert als ein <length> oder das Schlüsselwort auto. Siehe column-height.

Hinweis: Das Setzen eines <column-height>-Wertes setzt die column-wrap-Eigenschaft auf ihren Anfangswert auto zurück. Wenn <column-height> auf ein <length> gesetzt ist, löst sich der auto-Wert der column-wrap-Eigenschaft zu wrap auf. Wenn <column-height> auf auto gesetzt ist, löst es sich zu nowrap auf.

Formale Definition

Anfangswertwie die jeweiligen Kurzschreibweisen:
Anwendbar aufBlockcontainer außer Tabellen umgebende Boxen
VererbtNein
Berechneter Wertwie die jeweiligen Kurzschreibweisen:
Animationstypwie die jeweiligen Kurzschreibweisen:

Formale Syntax

columns = 
[ <'column-width'> || <'column-count'> ] [ / <'column-height'> ]?

<column-width> =
auto |
<length [0,∞]> |
min-content |
max-content |
fit-content( <length-percentage> )

<column-count> =
auto |
<integer [1,∞]>

<column-height> =
auto |
<length [0,∞]>

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

<integer> =
<number-token>

Beispiele

Drei gleiche Spalten erstellen

Dieses Beispiel zeigt, wie ein Textcontainer in drei gleiche Spalten aufgeteilt wird.

HTML

Wir fügen ein einfaches <p>-Element mit Textinhalt ein.

html
<p class="content-box">
  This is a bunch of text split into three columns using the CSS
  <code>columns</code>
  property. The text is equally distributed over the columns.
</p>

CSS

Wir setzen einen columns-Eigenschaftswert im Absatz, der einen <column-count>-Wert von 3 und einen <column-width>-Wert von auto enthält.

css
.content-box {
  columns: 3 auto;
}

Ergebnis

Beachten Sie, wie der Text in drei Spalten aufgeteilt wird.

Erstellung von Spalten mit fester Höhe und Umbruch

Dieses Beispiel demonstriert das Einbeziehen eines <column-height>-Werts mit der columns-Kurzform-Eigenschaft, um einen Textcontainer in feststehende Spalten zu teilen, die beim Erreichen des Inline-Rands des Containers in neue Zeilen umbrochen werden.

HTML

Wir fügen ein einfaches <p>-Element mit etwas Text ein.

html
<p class="content-box">
  This is a bunch of text split into three columns using the CSS
  <code>columns</code> property. This includes a <code>column-count</code> value
  of <code>3</code>, a <code>column-width</code> value of <code>auto</code>, and
  a <code>column-height</code> value of <code>5em</code>. The
  <code>column-wrap</code> value is set to its initial value, <code>auto</code>;
  when a <code>column-height</code> value is included,
  <code>column-wrap: auto</code> resolves to <code>wrap</code>, which allows the
  columns to wrap onto multiple rows. The text is equally distributed over the
  columns, and placed into multiple rows.
</p>

CSS

Wir setzen einen columns-Eigenschaftswert im Absatz, der einen <column-count>-Wert von 3, einen <column-width>-Wert von auto und einen <column-height>-Wert von 5em enthält. Da <column-height> auf ein <length> gesetzt ist, rechnet sich der column-wrap-Wert des Absatzes zu wrap auf, was es den Spalten ermöglicht, in mehrere Zeilen umzubrechen.

css
.content-box {
  columns: 3 auto / 5em;
}

Ergebnis

Beachten Sie, wie der Text in drei Spalten aufgeteilt wird. Jede Spalte ist 5em hoch. Nach jeder dritten Spalte brechen die Spalten auf eine neue Zeile in der Blockrichtung um.

Spezifikationen

Spezifikation
CSS Multi-column Layout Module Level 2
# propdef-columns

Browser-Kompatibilität

Siehe auch