Die Highlight-Schnittstelle der CSS Custom Highlight API wird verwendet, um eine Sammlung von Range-Instanzen darzustellen, die mithilfe der API gestylt werden sollen.
Um beliebige Bereiche auf einer Seite zu stylen, instanziieren Sie ein neues Highlight-Objekt, fügen ihm ein oder mehrere Range-Objekte hinzu und registrieren Sie es mithilfe des HighlightRegistry.
Eine Highlight-Instanz ist ein Set-ähnliches Objekt, das ein oder mehrere Range-Objekte enthalten kann.
Eine Zahl, die die Priorität dieses Highlight-Objekts angibt. Wenn mehrere Highlights überlappen, verwendet der Browser diese Priorität, um zu entscheiden, wie die überlappenden Teile gestylt werden.
Ein enumerierter String, der verwendet wird, um die semantische Bedeutung des Highlights zu spezifizieren. Dies ermöglicht es unterstützender Technologie, diese Bedeutung einzuschließen, wenn das Highlight den Benutzern offenbart wird.
Das folgende Beispiel demonstriert, wie man Bereiche erstellt, ein neues Highlight-Objekt für sie instanziiert und es registriert, damit es auf der Seite gestylt wird:
js
const parentNode = document.getElementById("foo");// Create a couple of ranges.const range1 =newRange();
range1.setStart(parentNode,10);
range1.setEnd(parentNode,20);const range2 =newRange();
range2.setStart(parentNode,40);
range2.setEnd(parentNode,60);// Create a custom highlight for these ranges.const highlight =newHighlight(range1, range2);// Register the ranges in the HighlightRegistry.CSS.highlights.set("my-custom-highlight", highlight);
Das folgende CSS-Codebeispiel zeigt, wie man das registrierte benutzerdefinierte Highlight mithilfe des ::highlight-Pseudo-Elements stylt:
Tip: you can click/tap on a cell for more information.
Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
See implementation notes.
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.