| <!DOCTYPE html> |
| <title>CSS Container Query Test: named style container query change with inherited custom property</title> |
| <link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-rule"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="support/cq-testcommon.js"></script> |
| <style> |
| #container { |
| container-name: container; |
| } |
| .match { |
| --match: true; |
| } |
| #inner { |
| color: red; |
| } |
| @container container style(--match: true) { |
| #inner { |
| color: green; |
| } |
| } |
| </style> |
| <div id="container"> |
| <div id="outer"> |
| <div id="inner"></div> |
| </div> |
| </div> |
| <script> |
| setup(() => assert_implements_style_container_queries()); |
| |
| test(() => { |
| assert_equals(getComputedStyle(inner).color, "rgb(255, 0, 0)"); |
| assert_equals(getComputedStyle(inner).getPropertyValue("--match"), ""); |
| assert_equals(getComputedStyle(outer).getPropertyValue("--match"), ""); |
| assert_equals(getComputedStyle(container).getPropertyValue("--match"), ""); |
| }, "Pre-conditions"); |
| |
| test(() => { |
| container.className = "match"; |
| assert_equals(getComputedStyle(inner).color, "rgb(0, 128, 0)"); |
| assert_equals(getComputedStyle(inner).getPropertyValue("--match"), "true"); |
| assert_equals(getComputedStyle(outer).getPropertyValue("--match"), "true"); |
| assert_equals(getComputedStyle(container).getPropertyValue("--match"), "true"); |
| }, "Changed --match inherits down descendants and affects container query"); |
| </script> |