| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>CSS Selectors: :is()</title> |
| <link rel="author" title="Victoria Su" href="mailto:victoriaytsu@google.com"> |
| <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> |