docs.rodeo

MDN Web Docs mirror

HighlightRegistry

{{APIRef("CSS Custom Highlight API")}} 

The HighlightRegistry interface of the CSS Custom Highlight API is used to register {{domxref("Highlight")}}  objects to be styled using the API. It is accessed via {{domxref("CSS.highlights_static", "CSS.highlights")}} .

A HighlightRegistry instance is a Map-like object, in which each key is the name string for a custom highlight, and the corresponding value is the associated {{domxref("Highlight")}}  object.

{{InheritanceDiagram}} 

Instance properties

The HighlightRegistry interface doesn’t inherit any properties.

Instance methods

The HighlightRegistry interface doesn’t inherit any methods.

Examples

Registering a highlight

The following example demonstrates how to create ranges, instantiate a new Highlight object for them, and register the highlight using the HighlightRegistry, to style it on the page:

HTML

<p id="foo">CSS Custom Highlight API</p>

CSS

::highlight(my-custom-highlight) {
  background-color: peachpuff;
}

JavaScript

const text = document.getElementById("foo").firstChild;

if (!CSS.highlights) {
  text.textContent =
    "The CSS Custom Highlight API is not supported in this browser!";
}

// Create a couple of ranges.
const range1 = new Range();
range1.setStart(text, 0);
range1.setEnd(text, 3);

const range2 = new Range();
range2.setStart(text, 21);
range2.setEnd(text, 24);

// Create a custom highlight for these ranges.
const highlight = new Highlight(range1, range2);

// Register the ranges in the HighlightRegistry.
CSS.highlights.set("my-custom-highlight", highlight);

Result

{{ EmbedLiveSample("Registering a highlight") }} 

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN