::first-letter
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.
Der ::first-letter
CSS Pseudo-Element wendet Stile auf den ersten Buchstaben der ersten Zeile eines Blockcontainers an, jedoch nur, wenn dieser nicht von anderem Inhalt (wie Bildern oder Inline-Tabellen) flankiert wird.
Probieren Sie es aus
Der erste Buchstabe eines Elements ist nicht immer leicht zu identifizieren:
- Anführungszeichen oder Interpunktion, die dem ersten Buchstaben vorangehen oder ihn unmittelbar folgen, sind im Match enthalten. Zu den Interpunktionszeichen gehören Unicode-Zeichen aus den Kategorien open (Ps), close (Pe), initial quote (Pi), final quote (Pf) und other punctuation (Po).
- Einige Sprachen haben Digraphen, die immer gemeinsam großgeschrieben werden, wie das
IJ
im Niederländischen. In solchen Fällen sollten beide Buchstaben des Digraphen durch das::first-letter
Pseudo-Element erfasst werden. - Eine Kombination aus dem
::before
Pseudo-Element und dercontent
Eigenschaft kann Text am Anfang eines Elements einfügen. In diesem Fall wird::first-letter
den ersten Buchstaben dieses generierten Inhalts erfassen.
Hinweis:
CSS führte die ::first-letter
Notation (mit zwei Doppelpunkten) ein, um Pseudo-Klassen von Pseudo-Elementen zu unterscheiden. Aus Gründen der Abwärtskompatibilität akzeptieren Browser auch :first-letter
, das früher eingeführt wurde.
Die Unterstützung für Digraphen wie IJ
im Niederländischen ist schwach. Überprüfen Sie die Kompatibilitätstabelle unten, um den aktuellen Stand der Unterstützung zu sehen.
Zulässige Eigenschaften
Nur ein kleiner Teil von CSS-Eigenschaften kann mit dem ::first-letter
Pseudo-Element verwendet werden:
- Alle Schriftart-Eigenschaften:
font
,font-style
,font-feature-settings
,font-kerning
,font-language-override
,font-stretch
,font-synthesis
,font-variant
,font-variant-alternates
,font-variant-caps
,font-variant-east-asian
,font-variant-ligatures
,font-variant-numeric
,font-variant-position
,font-weight
,font-size
,font-size-adjust
,line-height
undfont-family
- Alle Hintergrund-Eigenschaften:
background
,background-color
,background-image
,background-clip
,background-origin
,background-position
,background-repeat
,background-size
,background-attachment
, undbackground-blend-mode
- Alle Rand-Eigenschaften:
margin
,margin-top
,margin-right
,margin-bottom
,margin-left
- Alle Auffüll-Eigenschaften:
padding
,padding-top
,padding-right
,padding-bottom
,padding-left
- Alle Rahmen-Eigenschaften: die Kurzform
border
,border-style
,border-color
,border-width
,border-radius
,border-image
, und die Langform-Eigenschaften - Die
color
Eigenschaft - Die
text-decoration
,text-shadow
,text-transform
,letter-spacing
,word-spacing
(falls zutreffend),line-height
,text-decoration-color
,text-decoration-line
,text-decoration-style
,box-shadow
,float
,vertical-align
(nur wennfloat
aufnone
gesetzt ist) CSS-Eigenschaften
Syntax
::first-letter {
/* ... */
}
Beispiele
Grundlegendes Versalien-Design
In diesem Beispiel verwenden wir das ::first-letter
Pseudo-Element, um einen Versaleneffekt auf den ersten Buchstaben des Absatzes direkt nach dem <h2>
zu erzeugen.
HTML
<h2>My heading</h2>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
kasd gubergren, no sea takimata sanctus est.
</p>
<p>
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie
consequat.
</p>
CSS
p {
width: 500px;
line-height: 1.5;
}
h2 + p::first-letter {
color: white;
background-color: black;
border-radius: 2px;
box-shadow: 3px 3px 0 red;
font-size: 250%;
padding: 6px 3px;
margin-right: 6px;
float: left;
}
Ergebnis
Effekt auf spezielle Satzzeichen und nicht-lateinische Zeichen
Dieses Beispiel veranschaulicht den Effekt von ::first-letter
auf spezielle Satzzeichen und nicht-lateinische Zeichen.
HTML
<p>
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie
consequat.
</p>
<p>-The beginning of a special punctuation mark.</p>
<p>_The beginning of a special punctuation mark.</p>
<p>"The beginning of a special punctuation mark.</p>
<p>'The beginning of a special punctuation mark.</p>
<p>*The beginning of a special punctuation mark.</p>
<p>#The beginning of a special punctuation mark.</p>
<p>「特殊的汉字标点符号开头。</p>
<p>《特殊的汉字标点符号开头。</p>
<p>"特殊的汉字标点符号开头。</p>
CSS
p::first-letter {
color: red;
font-size: 150%;
}
Ergebnis
Stil des ersten Buchstabens in einem SVG Textelement
In diesem Beispiel verwenden wir das ::first-letter
Pseudo-Element, um den ersten Buchstaben eines SVG <text>
Elements zu formatieren.
Hinweis: Zum Zeitpunkt der Erstellung dieses Dokuments hat diese Funktion eingeschränkte Unterstützung.
HTML
<svg viewBox="0 0 300 40">
<text y="30">First letter in <text> SVG</text>
</svg>
CSS
text {
font-family: sans-serif;
}
text::first-letter {
font-family: serif;
font-size: 2rem;
font-weight: 600;
fill: tomato;
stroke: indigo;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Pseudo-Elements Module Level 4 # first-letter-pseudo |
Browser-Kompatibilität
BCD tables only load in the browser