Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. CSS
  3. Reference
  4. Selectors
  5. ::after

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

View in EnglishAlways switch to English

::after

Baseline Widely available

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

In CSS erzeugt::after einPseudo-Element, das das letzte Kindelement des ausgewählten Elements ist. Es wird oft verwendet, um kosmetischen Inhalt mit dercontent-Eigenschaft zu einem Element hinzuzufügen. Es ist standardmäßig inline.

Probieren Sie es aus

a::after {  content: " (" attr(href) ")";}.dead-link {  text-decoration: line-through;}.dead-link::after {  content: url("/shared-assets/images/examples/warning.svg");  display: inline-block;  width: 12px;  height: 12px;}
<p>  The sailfish is named for its sail-like dorsal fin and is widely considered  the fastest fish in the ocean.  <a href="https://en.wikipedia.org/wiki/Sailfish"    >You can read more about it here</a  >.</p><p>  The red lionfish is a predatory scorpionfish that lives on coral reefs of the  Indo-Pacific Ocean and more recently in the western Atlantic.  <a href="">You can read more about it here</a>.</p>

Syntax

css
::after {  content: /* value */;  /* properties */}

Beschreibung

Das::after-Pseudo-Element ist ein Inline-Block, der als unmittelbares Kindelement des Elements erzeugt wird, mit dem es assoziiert ist oder des "auslösenden Elements". Es wird häufig verwendet, um über diecontent-Eigenschaft kosmetischen Inhalt zu einem Element hinzuzufügen, wie z. B. Symbole, Anführungszeichen oder andere Dekorationen.

::after-Pseudo-Elemente können nicht aufersetzte Elemente wie<img> angewendet werden, deren Inhalt durch externe Ressourcen bestimmt wird und nicht von den Stilen des aktuellen Dokuments beeinflusst wird.

Ein::after-Pseudo-Element mit einemdisplay-Wert vonlist-item verhält sich wie ein Listenelement und kann daher ebenso ein::marker-Pseudo-Element erzeugen wie ein<li>-Element.

Wenn diecontent-Eigenschaft nicht angegeben ist, einen ungültigen Wert hat odernormal odernone als Wert hat, wird das::after-Pseudo-Element nicht gerendert. Es verhält sich so, als wäredisplay: none gesetzt.

Hinweis:DieSelectors Level 3-Spezifikation führte die Doppelpunkt-Notation::after ein, umPseudo-Klassen vonPseudo-Elementen zu unterscheiden. Browser akzeptieren auch die Einfachpunkt-Notation:after, die in CSS2 eingeführt wurde.

Standardmäßig teilen sich die Pseudo-Elemente::before und::after denselben Stapelkontext wie ihr übergeordnetes Element. Wenn keinz-index explizit gesetzt wird, erscheint der generierte Inhalt des::after-Pseudo-Elements über dem des::before-Pseudo-Elements, da::after später im DOM-Fluss gerendert wird.

Barrierefreiheit

Die Verwendung eines::after-Pseudo-Elements zum Hinzufügen von Inhalten wird nicht empfohlen, da es von Screenreadern nicht zuverlässig erfasst wird.

Beispiele

Grundlegende Verwendung

Lassen Sie uns zwei Klassen erstellen: eine für langweilige Absätze und eine für aufregende. Wir können diese Klassen verwenden, um Pseudo-Elemente am Ende von Absätzen hinzuzufügen.

HTML

html
<p>Here is some plain old boring text.</p><p>Here is some normal text that is neither boring nor exciting.</p><p>Contributing to MDN is fun.</p>

CSS

css
.exciting-text::after {  content: " <- EXCITING!";  color: darkgreen;  font-weight: bolder;}.boring-text::after {  content: " <- BORING";  color: darkviolet;  font-weight: bolder;}

Ergebnis

Dekoratives Beispiel

Wir können Text oder Bilder in dercontent-Eigenschaft fast beliebig gestalten.

HTML

html
<span>Look at the orange box after this text. </span>

CSS

css
.ribbon {  background-color: #5bc8f7;}.ribbon::after {  content: "This is a fancy orange box.";  background-color: #ffba10;  border-color: black;  border-style: dotted;}

Ergebnis

Tooltips

Dieses Beispiel verwendet::after in Verbindung mit demattr()-CSS-Ausdruck und einemdata-descriptionbenutzerdefinierten Datenattribut, um Tooltips zu erstellen. Kein JavaScript erforderlich!

Wir können auch Tastaturnutzern mit dieser Technik helfen, indem wir eintabindex von0 hinzufügen, um jedesspan tastaturfokussierbar zu machen, und einen CSS-:focus-Selektor verwenden. Dies zeigt, wie flexibel::before und::after sein können, obwohl für die barrierefreiste Erfahrung ein semantisches Offenlegungs-Widget, das auf andere Weise erstellt wurde (z. B. mitdetails und summary-Elementen), wahrscheinlich besser geeignet ist.

HTML

html
<p>  Here we have some  <span tabindex="0" data-description="collection of words and punctuation">    text  </span>  with a few  <span tabindex="0" data-description="small popups that appear when hovering">    tooltips</span  >.</p>

CSS

css
span[data-description] {  position: relative;  text-decoration: underline;  color: blue;  cursor: help;}span[data-description]:hover::after,span[data-description]:focus::after {  content: attr(data-description);  position: absolute;  left: 0;  top: 24px;  min-width: 200px;  border: 1px #aaaaaa solid;  border-radius: 10px;  background-color: #ffffcc;  padding: 12px;  color: black;  font-size: 14px;  z-index: 1;}

Ergebnis

::after::marker verschachtelte Pseudo-Elemente

Das::after::markerverschachtelte Pseudo-Element wählt das Listen-::marker eines::after-Pseudo-Elements aus, das selbst ein Listenelement ist, d.h. es hat seinedisplay-Eigenschaft auflist-item gesetzt.

In dieser Demo erzeugen wir zusätzliche Listenelemente vor und nach einem Listennavigationsmenü mit::before und::after (setzen diese aufdisplay: list-item, damit sie sich wie Listenelemente verhalten). Wir verwenden dannul::before::marker undul::after::marker, um ihren Listenmarkern eine andere Farbe zu geben.

HTML

html
<ul>  <li><a href="#">Introduction</a></li>  <li><a href="#">Getting started</a></li>  <li><a href="#">Understanding the basics</a></li></ul>

CSS

css
ul {  font-size: 1.5rem;  font-family: "Helvetica", "Arial", sans-serif;}ul::before,ul::after {  display: list-item;  color: orange;}ul::before {  content: "Start";}ul::after {  content: "End";}ul::before::marker,ul::after::marker {  color: red;}

Ergebnis

Während die Listenkugeln der drei Navigationselemente erzeugt werden, weil sie<li>-Elemente sind, wurden "Start" und "Ende" über Pseudo-Elemente eingefügt, und::marker wird verwendet, um ihre Kugeln zu stylen.

Spezifikationen

Specification
CSS Pseudo-Elements Module Level 4
# generated-content

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp