Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Seit June 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die CSS Custom Highlight API bietet einen Mechanismus, um beliebige Textbereiche in einem Dokument zu stylen, indem JavaScript verwendet wird, um die Bereiche zu erstellen, und CSS, um sie zu gestalten.
Das Stylen von Textbereichen auf einer Webseite kann sehr nützlich sein. Zum Beispiel heben Textbearbeitungs-Web-Apps Rechtschreib- oder Grammatikfehler hervor, und Code-Editoren markieren Syntaxfehler.
Die CSS Custom Highlight API erweitert das Konzept anderer Highlight-Pseudoelemente wie ::selection, ::spelling-error, ::grammar-error und ::target-text indem sie eine Möglichkeit bietet, beliebige Range-Objekte zu erstellen und zu stylen, anstatt nur auf browserdefinierte Bereiche beschränkt zu sein.
Mit der CSS Custom Highlight API können Sie programmatisch Textbereiche erstellen und markieren, ohne die DOM-Struktur auf der Seite zu beeinflussen.
Es gibt vier Schritte, um Textbereiche auf einer Webseite mit der CSS Custom Highlight API zu stylen:
Der erste Schritt besteht darin, die Textbereiche zu definieren, die Sie stylen möchten, indem Sie Range-Objekte in JavaScript erstellen. Zum Beispiel:
Der zweite Schritt ist das Instanziieren von Highlight-Objekten für Ihre Textbereiche.
Mehrere Bereiche können einem Highlight zugeordnet werden. Wenn Sie mehrere Textstücke auf die gleiche Weise hervorheben möchten, müssen Sie ein einzelnes Highlight erstellen und es mit den entsprechenden Bereichen initialisieren.
Aber Sie können auch so viele Highlights erstellen, wie Sie benötigen. Beispielsweise, wenn Sie einen kollaborativen Texteditor erstellen, bei dem jeder Benutzer eine andere Textfarbe erhält, können Sie ein Highlight pro Benutzer erstellen, wie im folgenden Codeausschnitt gezeigt:
Jedes Highlight kann unterschiedlich gestylt werden.
Sobald Highlights erstellt wurden, registrieren Sie diese mit dem HighlightRegistry, der als CSS.highlights verfügbar ist.
Das Register ist ein Map-ähnliches Objekt, das verwendet wird, um Highlights mit Namen zu registrieren, wie unten gezeigt:
In dem obigen Codeausschnitt sind die Strings user-1-highlight und user-2-highlight benutzerdefinierte Bezeichner, die in CSS verwendet werden können, um Stile auf die registrierten Highlights anzuwenden.
Sie können so viele Highlights wie nötig im Register anmelden, sowie Highlights entfernen und das gesamte Register leeren.
Der letzte Schritt besteht darin, die registrierten Highlights zu stylen. Dies geschieht durch Verwendung des ::highlight()-Pseudoelements. Zum Beispiel, um das user-1-highlight-Highlight zu stylen, das im vorherigen Schritt registriert wurde:
Diese Schnittstelle wird verwendet, um eine Sammlung von Bereichen darzustellen, die auf einem Dokument gestylt werden sollen.
HighlightRegistryÜber CSS.highlights zugänglich, wird dieses Map-ähnliche Objekt verwendet, um Highlights mit benutzerdefinierten Bezeichnern zu registrieren.
Dieses Beispiel zeigt, wie die CSS Custom Highlight API verwendet wird, um Suchergebnisse hervorzuheben.
Der folgende HTML-Codeausschnitt definiert ein Suchfeld und einen Artikel mit einigen Textabsätzen:
JavaScript wird verwendet, um auf das input-Ereignis im Suchfeld zu hören. Wenn das Ereignis ausgelöst wird, sucht der Code nach Übereinstimmungen für den eingegebenen Text im Artikeltext. Anschließend erstellt er Bereiche für die Übereinstimmungen und verwendet die CSS Custom Highlight API, um ein search-results-Highlight-Objekt zu erstellen und zu registrieren:
Schließlich wird das ::highlight()-Pseudoelement in CSS verwendet, um die Highlights zu stylen:
Das Ergebnis wird unten angezeigt. Geben Sie Text im Suchfeld ein, um Übereinstimmungen im Artikel hervorzuheben:
| CSS Custom Highlight API Module Level 1 |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.