CSS: highlights static property

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The static, read-only highlights property of the CSS interface provides access to the HighlightRegistry used to style arbitrary text ranges using the CSS Custom Highlight API.


The HighlightRegistry object.


The following example demonstrates creating multiple text ranges, then creating a Highlight object for them, registering this highlight in the HighlightRegistry, and finally styling the text ranges using the ::highlight() pseudo-element.

const parentNode = document.getElementById("foo");

const range1 = new Range();
range1.setStart(parentNode, 10);
range1.setEnd(parentNode, 20);

const range2 = new Range();
range2.setStart(parentNode, 40);
range2.setEnd(parentNode, 60);

const myCustomHighlight = new Highlight(range1, range2);

CSS.highlights.set("my-custom-highlight", myCustomHighlight);
::highlight(my-custom-highlight) {
  background-color: yellow;
  color: black;


CSS Custom Highlight API Module Level 1
# dom-css-highlights

Browser compatibility

BCD tables only load in the browser

See also