::highlight()
        
        
          Limited availability
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is not Baseline because it does not work in some of the most widely-used browsers.
Das ::highlight() CSS Pseudo-Element wendet Stile auf ein benutzerdefiniertes Highlight an.
Ein benutzerdefiniertes Highlight ist eine Sammlung von Range-Objekten und wird auf einer Webseite mit dem HighlightRegistry registriert.
Das ::highlight() Pseudo-Element folgt einem speziellen Vererbungsmuster, das allen Highlight-Pseudo-Elementen gemeinsam ist. Weitere Details zur Funktionsweise dieser Vererbung finden Sie im Abschnitt Highlight-Pseudo-Elemente: Vererbung.
Erlaubte Eigenschaften
Nur bestimmte CSS-Eigenschaften können mit ::highlight() verwendet werden:
colorbackground-colortext-decorationund die dazugehörigen Eigenschaftentext-shadow-webkit-text-stroke-color,-webkit-text-fill-colorund-webkit-text-stroke-width
Insbesondere wird background-image ignoriert.
Syntax
css
::highlight(custom-highlight-name)
Beispiele
>Zeichen hervorheben
HTML
html
<p id="rainbow-text">CSS Custom Highlight API rainbow</p>
CSS
css
#rainbow-text {
  font-family: monospace;
  font-size: 1.5rem;
}
::highlight(rainbow-color-1) {
  color: violet;
  text-decoration: underline;
}
::highlight(rainbow-color-2) {
  color: purple;
  text-decoration: underline;
}
::highlight(rainbow-color-3) {
  color: blue;
  text-decoration: underline;
}
::highlight(rainbow-color-4) {
  color: green;
  text-decoration: underline;
}
::highlight(rainbow-color-5) {
  color: yellow;
  text-decoration: underline;
}
::highlight(rainbow-color-6) {
  color: orange;
  text-decoration: underline;
}
::highlight(rainbow-color-7) {
  color: red;
  text-decoration: underline;
}
JavaScript
js
const textNode = document.getElementById("rainbow-text").firstChild;
if (!CSS.highlights) {
  textNode.textContent =
    "The CSS Custom Highlight API is not supported in this browser!";
}
// Create and register highlights for each color in the rainbow.
const highlights = [];
for (let i = 0; i < 7; i++) {
  // Create a new highlight for this color.
  const colorHighlight = new Highlight();
  highlights.push(colorHighlight);
  // Register this highlight under a custom name.
  CSS.highlights.set(`rainbow-color-${i + 1}`, colorHighlight);
}
// Iterate over the text, character by character.
for (let i = 0; i < textNode.textContent.length; i++) {
  // Create a new range just for this character.
  const range = new Range();
  range.setStart(textNode, i);
  range.setEnd(textNode, i + 1);
  // Add the range to the next available highlight,
  // looping back to the first one once we've reached the 7th.
  highlights[i % 7].add(range);
}
Ergebnis
Spezifikationen
| Specification | 
|---|
| CSS Custom Highlight API Module Level 1> # custom-highlight-pseudo>  | 
            
| CSS Pseudo-Elements Module Level 4> # selectordef-highlight-custom-ident>  | 
            
Browser-Kompatibilität
Loading…
Siehe auch
- CSS Custom Highlight API Modul
 - CSS Custom Highlight API
 - CSS Pseudo-Elemente Modul