::first-line

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Das ::first-line CSS Pseudoelement wendet Stile auf die erste Zeile eines Blockcontainers an.

Probieren Sie es aus

Die Effekte von ::first-line sind durch die Länge und den Inhalt der ersten Textzeile in dem Element begrenzt. Die Länge der ersten Zeile hängt von vielen Faktoren ab, einschließlich der Breite des Elements, der Breite des Dokuments und der Schriftgröße des Textes. ::first-line hat keine Wirkung, wenn das erste Kind des Elements, das der erste Teil der ersten Zeile wäre, ein Inline-Blockelement ist, wie z.B. eine Inline-Tabelle.

Note: Selectors Level 3 führte die Doppelpunktnotation (::) ein, um Pseudoelemente von den Einfachpunkten (:) Pseudoklassen zu unterscheiden. Browser akzeptieren sowohl ::first-line als auch :first-line, das in CSS2 eingeführt wurde.

Für die Zwecke von CSS background ist das ::first-line Pseudoelement wie ein Inline-Element, was bedeutet, dass in einer linksbündigen ersten Zeile der Hintergrund möglicherweise nicht bis zum rechten Rand reicht.

Erlaubte Eigenschaften

Syntax

css
::first-line {
  /* ... */
}

Beispiele

Erste Zeile eines Absatzes stylen

HTML

html
<p>
  Styles will only be applied to the first line of this paragraph. After that,
  all text will be styled like normal. See what I mean?
</p>

<span>
  The first line of this text will not receive special styling because it is not
  a block-level element.
</span>

CSS

css
::first-line {
  color: blue;
  font-weight: bold;

  /* WARNING: DO NOT USE THESE */
  /* Many properties are invalid in ::first-line pseudo-elements */
  margin-left: 20px;
  text-indent: 20px;
}

Ergebnis

Erste Zeile eines SVG-Text-Elements stylen

In diesem Beispiel stylen wir die erste Zeile eines SVG-<text>-Elements mit dem ::first-line Pseudoelement.

Hinweis: Zum Zeitpunkt des Schreibens hat diese Funktion eingeschränkte Unterstützung.

HTML

html
<svg viewBox="0 0 320 150">
  <text y="20">Here is an English paragraph
that is broken into multiple lines
in the source code so that it can
be more easily read and edited
in a text editor.
  </text>
</svg>

CSS

Um das SVG-<text>-Element dazu zu bringen, in mehrere Zeilen umzubrechen, verwenden wir die white-space CSS-Eigenschaft. Wir wählen dann die erste Zeile mit dem ::first-line Pseudoelement aus.

css
text {
  white-space: break-spaces;
}

text::first-line {
  fill: blue;
  font-weight: bold;
}

Ergebnis

Spezifikationen

Specification
CSS Pseudo-Elements Module Level 4
# first-line-pseudo

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch