<html>
<head>
<style>
#colorText { font-family: monospace;
font-size: 25px;
}
::highlight(mycolor-1) { color: red;
}
::highlight(mycolor-2) { color: green;
}
::highlight(mycolor-3) { color: blue;
}
::highlight(mycolor-4) { color: salmon;
}
</style>
</head>
<body>
<h1>::highlight 演示</h1>
<p id="colorText">CSS 自定义高亮</p>
<script>
const textNode = document.getElementById("colorText").firstChild;
if (!CSS.highlights) { textNode.textContent =
"高亮 API 不支持!";
}
const highlights = [];
for (let i = 0; i < 4; i++) {
const colorHighlight = new Highlight();
highlights.push(colorHighlight);
CSS.highlights.set(`mycolor-${i + 1}`, colorHighlight);}
for (let i = 0; i < textNode.textContent.length; i++) {
const range = new Range();
range.setStart(textNode, i);
range.setEnd(textNode, i + 1);
highlights[i % 4].add(range);
}
</script>
</body>
</html>