content-visibility-015.html (1237B)
1 <!doctype HTML> 2 <html> 3 <meta charset="utf8"> 4 <title>Content Visibility: hit testing</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="content-visibility hidden prevents hit-testing in the subtree"> 8 9 <script src="/resources/testharness.js"></script> 10 <script src="/resources/testharnessreport.js"></script> 11 12 <style> 13 body { 14 margin: 0; 15 padding: 0; 16 } 17 #outer { 18 width: 100px; 19 height: 100px; 20 background: lightblue; 21 22 content-visibility: hidden; 23 } 24 #inner { 25 margin: 25px; 26 width: 50px; 27 height: 50px; 28 background lightgreen; 29 } 30 </style> 31 32 <body id="body"> 33 <div id="outer"><div id="inner"></div></div> 34 </body> 35 36 <script> 37 async_test((t) => { 38 const container = document.getElementById("outer"); 39 40 let target = document.elementFromPoint(50, 50); 41 t.step(() => assert_equals(target.id, "outer", "center hits outer")); 42 target = document.elementFromPoint(10, 50); 43 t.step(() => assert_equals(target.id, "outer", "edge hits outer")); 44 target = document.elementFromPoint(100, 50); 45 t.step(() => assert_equals(target.id, "body", "elsewhere hits body")); 46 t.done(); 47 }); 48 49 </script> 50 </html>