| <!DOCTYPE html> |
| <title>CSS Custom Properties: Using revert-layer in fallbacks</title> |
| <link rel="help" href="https://drafts.csswg.org/css-variables/#substitute-a-var"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| @layer { |
| #child { |
| --x:PASS; |
| margin: 1px; |
| padding-left: 1px; |
| } |
| } |
| @layer { |
| #parent { |
| --x:FAIL; |
| margin: -1px; |
| padding-left: -1px; |
| } |
| #child { |
| --x: var(--unknown, revert-layer); |
| margin: var(--unknown, revert-layer); |
| padding-left: var(--unknown, revert-layer); |
| } |
| } |
| </style> |
| <div id=parent> |
| <div id=child> |
| </div> |
| </div> |
| <pre id=out> |
| </pre> |
| <script> |
| test((x) => { |
| assert_equals(getComputedStyle(child).getPropertyValue('--x'), 'PASS'); |
| }, 'var(--unknown, revert-layer) in custom property'); |
| |
| test((x) => { |
| assert_equals(getComputedStyle(child).getPropertyValue('margin'), '1px'); |
| }, 'var(--unknown, revert-layer) in shorthand'); |
| |
| test((x) => { |
| assert_equals(getComputedStyle(child).getPropertyValue('margin-left'), '1px'); |
| }, 'var(--unknown, revert-layer) in shorthand observed via longhand'); |
| |
| test((x) => { |
| assert_equals(getComputedStyle(child).getPropertyValue('padding-left'), '1px'); |
| }, 'var(--unknown, revert-layer) in longhand'); |
| </script> |