content-visibility-072.html (1738B)
1 <!doctype HTML> 2 <html> 3 <meta charset="utf8"> 4 <title>Content Visibility: nested forced layouts</title> 5 <link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> 6 <link rel="help" href="https://drafts.csswg.org/css-contain/#content-visibility"> 7 <meta name="assert" content="nested content-visibility items are all processed when layout is forced"> 8 9 <script src="/resources/testharness.js"></script> 10 <script src="/resources/testharnessreport.js"></script> 11 12 <style> 13 body, html { 14 padding: 0; 15 margin: 0; 16 } 17 .spacer { 18 height: 3000px; 19 } 20 .target { 21 width: 12px; 22 height: 34px; 23 24 position: relative; 25 left: 5px; 26 top: 7px; 27 } 28 29 .auto { 30 content-visibility: auto; 31 } 32 .hidden { 33 content-visibility: hidden; 34 } 35 </style> 36 37 <div class=spacer></div> 38 <div class=auto> 39 <div class=auto> 40 <div class=target id=one></div> 41 </div> 42 </div> 43 44 <div class=auto> 45 <div class=hidden> 46 <div class=target id=two></div> 47 </div> 48 </div> 49 50 <div class=hidden> 51 <div class=auto> 52 <div class=target id=three></div> 53 </div> 54 </div> 55 56 <div class=hidden> 57 <div class=hidden> 58 <div class=target id=four></div> 59 </div> 60 </div> 61 62 <div class=hidden> 63 <div class=hidden> 64 <div class=hidden> 65 <div class=hidden> 66 <div class=hidden> 67 <div class=target id=five></div> 68 </div> 69 </div> 70 </div> 71 </div> 72 </div> 73 74 <script> 75 const ids = ["one", "two", "three", "four", "five"]; 76 for (let i = 0; i < ids.length; ++i) { 77 test(() => { 78 const r = document.getElementById(ids[i]).getBoundingClientRect(); 79 assert_equals(r.x, 5, "x"); 80 assert_equals(r.y, 3007, "y"); 81 assert_equals(r.width, 12, "width"); 82 assert_equals(r.height, 34, "y"); 83 }, `${ids[i]}.getBoundingClientRect(): `); 84 } 85 </script> 86 </html>