Was ist Custom Highlights API Generator?
Die Custom Highlights API bietet eine Möglichkeit, Textbereiche im Browser zu stylen, ohne das DOM zu verändern. Anstatt Text in span-Elemente mit Inline-Styles zu verpacken, erstellen Sie Range-Objekte, sammeln sie in einem Highlight-Objekt und registrieren es unter einem Namen in der CSS.highlights-Registrierung. Das ::highlight()-Pseudoelement wendet dann Styles auf diese Bereiche an. Da Highlights das DOM nicht verändern, sind sie ideal für temporäre visuelle Effekte wie Suchhervorhebungen, Find-in-Page-Ergebnisse und Syntax-Highlighting, bei denen Sie das DOM nicht mit temporären span-Wrappern überladen möchten.
Kurze Antwort
Die Custom Highlights API stylt beliebige Textbereiche über CSS ohne DOM-Änderungen. Verwenden Sie CSS.highlights.set() zur Registrierung benannter Highlights und das ::highlight()-Pseudoelement für das Styling. Unterstützt color, background-color, text-decoration und text-shadow. Chrome 105+, Safari 18.2+ (Baseline 2026). Ideal für Find-in-Page, Syntax-Highlighting und Suchmarkierungen mit sauberer DOM-Erhaltung.
Last updated: 2026-06-02
Einschränkungen
- Browserunterstützung: Chrome 105+, Edge 105+ und Safari 18.2+. Firefox unterstützt die API Stand Version 138 nicht. Ein DOM-basierter Fallback (span-Wrapping) ist für Firefox und andere nicht unterstützte Browser erforderlich.
- ::highlight() unterstützt eine begrenzte Menge von CSS-Eigenschaften: color, background-color, text-decoration, text-decoration-color, text-decoration-style, text-shadow und strichbezogene Eigenschaften. Layout-Eigenschaften wie font-size, padding, margin oder display können nicht auf Highlights angewendet werden.
- Highlights werden nicht automatisch gepflegt, wenn sich das DOM ändert. Das Hinzufügen, Entfernen oder Ändern von Textinhalten, die einen hervorgehobenen Bereich überlappen, macht das Highlight ungültig. Sie müssen Highlights nach DOM-Mutationen, die den zielgerichteten Text betreffen, neu erstellen.
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
So nutzt du dieses Tool
- Schreiben oder fügen Sie den Textinhalt in den Editor ein oder verwenden Sie den bereitgestellten Beispieltext. Das Tool demonstriert, wie Highlights auf Bereiche innerhalb des Textes angewendet werden.
- Konfigurieren Sie den Highlight-Namen (verwendet für den ::highlight()-CSS-Selektor) und die Textmuster oder Bereiche, die hervorgehoben werden sollen. Wählen Sie zwischen Wort-Matching, Regex-Matching oder manueller Bereichsangabe.
- Passen Sie das Highlight-Styling an: Hintergrundfarbe, Textfarbe, Rahmenecken und Unterstreichungsoptionen. Das ::highlight()-Pseudoelement unterstützt eine Teilmenge von CSS-Eigenschaften einschließlich color, background-color, text-decoration und text-shadow.
- Kopieren Sie das generierte JavaScript (zum Erstellen und Verwalten von Highlights) und CSS (zum Styling). Die Ausgabe enthält ein in sich geschlossenes Beispiel, das direkt in eine Webseite eingebettet werden kann.
Wofür du es nutzen kannst
- Implementieren Sie Find-in-Page-Hervorhebung, die alle Vorkommen eines Suchbegriffs markiert, ohne jede Übereinstimmung in ein span-Element zu verpacken und ohne die bestehende DOM-Struktur zu stören.
- Fügen Sie Syntax-Highlighting zu Code-Blöcken auf einer Dokumentationsseite hinzu, indem Sie Highlights für Schlüsselwörter, Strings und Kommentare basierend auf Regex-Mustervergleich erstellen.
- Erstellen Sie ein Textvergleichstool, das hinzugefügte, entfernte und geänderte Wörter zwischen zwei Textversionen hervorhebt, wobei jeder Typ eine andere ::highlight()-Farbe verwendet.