| <!DOCTYPE html> | |
| <title>@scope - inner @container</title> | |
| <link rel="help" href="https://drafts.csswg.org/css-cascade-6/#scope-atrule"> | |
| <link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-rule"> | |
| <link rel="help" href="https://drafts.csswg.org/css-cascade-5/#scope-scope"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <style> | |
| main { | |
| width: 100px; | |
| height: 100px; | |
| container-type: size; | |
| } | |
| @scope (.a) { | |
| @container (width > 0px) { | |
| :scope { | |
| z-index: 1; | |
| } | |
| .b { | |
| background-color: green; | |
| } | |
| } | |
| } | |
| </style> | |
| <main> | |
| <div class=a> | |
| <div class=b> | |
| </div> | |
| </div> | |
| <div class=b></div> | |
| </main> | |
| <script> | |
| test(() => { | |
| let a = document.querySelector('main > .a'); | |
| let b = document.querySelector('main > .a > .b'); | |
| assert_equals(getComputedStyle(a).zIndex, '1'); | |
| assert_equals(getComputedStyle(b).backgroundColor, 'rgb(0, 128, 0)'); | |
| let out_of_scope_b = document.querySelector('main > .b'); | |
| assert_equals(getComputedStyle(out_of_scope_b).backgroundColor, 'rgba(0, 0, 0, 0)'); | |
| }, 'Style rules within @container are scoped'); | |
| </script> |