<!DOCTYPE html>
<html>
<head>
<title>CSS Selectors: :is()</title>
<link rel="author" title="Victoria Su" href="mailto:[email protected]">
<link rel="help" href="https://drafts.csswg.org/selectors-4/#matches">
<meta name="assert" content="This tests that the :is() selector chooses the correct specificity">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
.b.c + .d + .q.r + .s + #target {
font-size: 10px;
height: 10px;
width: 10px;
}
:is(.a, .b.c + .d, .q) + :is(* + .p, .q.r + .s, * + .t) + #target {
height: 20px;
width: 20px;
}
.b.c + .d + .q.r + .s + #target {
width: 30px;
}
</style>
</head>
<body>
<div class="b c"></div>
<div class="a d e"></div>
<div class="q r"></div>
<div class="p s t"></div>
<div id="target"></div>
<script>
test(() => {
assert_equals(getComputedStyle(target).width, "30px");
assert_equals(getComputedStyle(target).height, "20px");
assert_equals(getComputedStyle(target).fontSize, "10px");
}, "Test :is() uses highest possible specificity");
</script>
</body>
</html>