Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /css/css-highlight-api/painting/custom-highlight-dynamic-container-metrics-004.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<meta charset="UTF-8">
<title>CSS Highlight API Test: Highlights using container sizes</title>
<link rel="match" href="custom-highlight-container-metrics-003-ref.html">
<meta name="assert" value="a highlight on a container itself renders at the correct size when the container changes">
<head>
<style>
.wrapper {
container: wrapper / size;
width: 400px;
height: 200px;
}
.resize {
width: 200px;
height: 100px;
}
@container (width < 300px) {
.wrapper::highlight(highlight1) {
text-underline-offset: 2cqw;
text-decoration-line: underline;
text-decoration-color: green;
text-decoration-thickness: 4cqh;
}
}
</style>
</head>
<body>
<div id="h1" class="wrapper">With container size</div>
<div id="h2">Should be no highlight</div>
<script>
let r1 = new Range();
r1.setStart(h1, 0);
r1.setEnd(h1, 1);
let r2 = new Range();
r2.setStart(h2, 0);
r2.setEnd(h2, 1);
CSS.highlights.set("highlight1", new Highlight(r1, r2));
requestAnimationFrame(() => {
h1.classList.add('resize');
requestAnimationFrame(() => takeScreenshot());
});
</script>
</body>
</html>