| <!DOCTYPE html> |
| <title>getClientRects on monolithic elements and their container</title> |
| <link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> |
| <link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-element-getclientrects"> |
| <link rel="help" href="https://drafts.csswg.org/css-multicol/"> |
| <style> |
| body { |
| margin: 8px; |
| } |
| </style> |
| <div style="columns:3; column-fill:auto; gap:10px; width:320px; height:100px; background:yellow;"> |
| <div id="container" style="background:gray;"> |
| <div id="monolith1" style="contain:size; width:50%; height:250px; background:cyan;"></div> |
| <div id="monolith2" style="contain:size; width:50%; height:50px; background:black;"></div> |
| <div id="monolith3" style="contain:size; width:50%; height:250px; background:hotpink;"></div> |
| </div> |
| </div> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| test(()=> { |
| let rects = monolith1.getClientRects(); |
| assert_equals(rects.length, 1); |
| assert_equals(rects[0].left, 8); |
| assert_equals(rects[0].top, 8); |
| assert_equals(rects[0].width, 50); |
| assert_equals(rects[0].height, 250); |
| }, "#monolith1"); |
| |
| test(()=> { |
| let rects = monolith2.getClientRects(); |
| assert_equals(rects.length, 1); |
| assert_equals(rects[0].left, 118); |
| assert_equals(rects[0].top, 8); |
| assert_equals(rects[0].width, 50); |
| assert_equals(rects[0].height, 50); |
| }, "#monolith2"); |
| |
| test(()=> { |
| let rects = monolith3.getClientRects(); |
| assert_equals(rects.length, 1); |
| assert_equals(rects[0].left, 228); |
| assert_equals(rects[0].top, 8); |
| assert_equals(rects[0].width, 50); |
| assert_equals(rects[0].height, 250); |
| }, "#monolith3"); |
| |
| test(()=> { |
| let rects = container.getClientRects(); |
| assert_equals(rects.length, 3); |
| |
| assert_equals(rects[0].left, 8); |
| assert_equals(rects[0].top, 8); |
| assert_equals(rects[0].width, 100); |
| assert_equals(rects[0].height, 250); |
| |
| assert_equals(rects[1].left, 118); |
| assert_equals(rects[1].top, 8); |
| assert_equals(rects[1].width, 100); |
| assert_equals(rects[1].height, 100); |
| |
| assert_equals(rects[2].left, 228); |
| assert_equals(rects[2].top, 8); |
| assert_equals(rects[2].width, 100); |
| assert_equals(rects[2].height, 250); |
| }, "#container"); |
| </script> |