| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>Multiple custom highlight pseudo elements.</title> |
| <link rel="help" href="https://drafts.csswg.org/css-highlight-api-1/#creating-highlights"> |
| <link rel="match" href="highlight-text-replace-ref.html"> |
| <meta name="assert" content="Multiple highlights should be able to be specified."> |
| <style> |
| :root { |
| /* This reduces the likelihood that a highlight background-area |
| will overlap with the previous glyph. That overlap is worth |
| avoiding, because the previous glyph's overlapping part will get |
| clipped in the reference case, but might not in the testcase. */ |
| font-family: monospace; |
| } |
| ::highlight(example-highlight) { |
| background-color: yellow; |
| color:green; |
| } |
| </style> |
| </head> |
| <body> |
| <span id="text1">One two three</span> |
| |
| <script> |
| let textElement = document.getElementById('text1'); |
| let highlight1 = new Highlight(new StaticRange({startContainer: textElement.childNodes[0], startOffset: 1, endContainer: textElement.childNodes[0], endOffset: 2})); |
| |
| let highlight2 = new Highlight(new StaticRange({startContainer: textElement.childNodes[0], startOffset: 3, endContainer: textElement.childNodes[0], endOffset: 4})); |
| highlight2.add(new StaticRange({startContainer: textElement.childNodes[0], startOffset: 5, endContainer: textElement.childNodes[0], endOffset: 6})); |
| |
| CSS.highlights.set("example-highlight", highlight1); |
| CSS.highlights.set("example-highlight", highlight2); |
| </script> |
| </body> |
| </html> |