pseudo-elements-004.html (1504B)
1 <!doctype html> 2 <title>@container: originating element container for pseudo elements</title> 3 <link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-queries"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="support/cq-testcommon.js"></script> 7 <style> 8 #target { container-type: inline-size; } 9 #target::before, 10 #target::after, 11 #target::marker, 12 #target::first-line, 13 #target::first-letter, 14 #target::backdrop { 15 color: red; 16 } 17 @container (width >= 300px) { 18 #target::before, 19 #target::after, 20 #target::marker, 21 #target::first-line, 22 #target::first-letter, 23 #target::backdrop { 24 color: green; 25 } 26 } 27 </style> 28 <div id="outer" style="width: 200px"> 29 <div id="target"></div> 30 </div> 31 <script> 32 setup(() => assert_implements_size_container_queries()); 33 34 const green = "rgb(0, 128, 0)"; 35 const red = "rgb(255, 0, 0)"; 36 37 const pseudo_elements = ["::before", "::after", "::marker", "::first-line", "::first-letter", "::backdrop"]; 38 39 pseudo_elements.forEach((pseudo_element) => { 40 test(() => { 41 assert_equals(getComputedStyle(target, pseudo_element).color, red); 42 }, `Initial color for ${pseudo_element}`); 43 }); 44 45 outer.style.width = "300px"; 46 47 pseudo_elements.forEach((pseudo_element) => { 48 test(() => { 49 assert_equals(getComputedStyle(target, pseudo_element).color, green); 50 }, `Color for ${pseudo_element} depending on container`); 51 }); 52 </script>