| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>CSS Positioned Layout Test: Absolute positioned elements are included in the scrollable overflow area</title> |
| <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> |
| <link rel="help" href="https://drafts.csswg.org/css-position/#valdef-position-absolute"> |
| <link rel="help" href="https://drafts.csswg.org/css-overflow/#scrollable"> |
| <link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-element-scrollheight"> |
| <meta name=assert content="Absolute positioned elements are included in the scrollable overflow area of its containing block."> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/check-layout-th.js"></script> |
| <style> |
| .containing-block { |
| position: relative; |
| width: 100px; |
| height: 100px; |
| margin: 100px; |
| } |
| |
| .abspos { |
| position: absolute; |
| background: rgba(0, 255, 0, 0.5); |
| width: 10px; |
| height: 10px; |
| left: 0; |
| top: 0; |
| } |
| </style> |
| <body onload="checkLayout('.containing-block');"> |
| <div id="log"></div> |
| <div class="containing-block" data-expected-scroll-width="100" data-expected-scroll-height="500"> |
| <div class="abspos" style="left: -50px; height: 500px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="100" data-expected-scroll-height="550"> |
| <div class="abspos" style="left: -50px; height: 500px; top: 50px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="100" data-expected-scroll-height="700"> |
| <div class="abspos" style="left: -50px; height: 500px; top: 200px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="100" data-expected-scroll-height="400"> |
| <div class="abspos" style="left: -50px; height: 500px; top: -100px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="100" data-expected-scroll-height="100"> |
| <div class="abspos" style="left: -50px; height: 500px; top: -1000px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="100" data-expected-scroll-height="100"> |
| <div class="abspos" style="left: 50px; height: 500px; top: -1000px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="210" data-expected-scroll-height="700"> |
| <div class="abspos" style="left: 200px; height: 500px; top: 200px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="500" data-expected-scroll-height="100"> |
| <div class="abspos" style="width: 500px; top: -50px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="550" data-expected-scroll-height="100"> |
| <div class="abspos" style="width: 500px; left: 50px; top: -50px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="700" data-expected-scroll-height="100"> |
| <div class="abspos" style="width: 500px; left: 200px; top: -50px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="400" data-expected-scroll-height="100"> |
| <div class="abspos" style="width: 500px; left: -100px; top: -50px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="100" data-expected-scroll-height="100"> |
| <div class="abspos" style="width: 500px; left: -1000px; top: -50px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="100" data-expected-scroll-height="100"> |
| <div class="abspos" style="width: 500px; left: -1000px; top: 50px;"></div> |
| </div> |
| <div class="containing-block" data-expected-scroll-width="700" data-expected-scroll-height="210"> |
| <div class="abspos" style="width: 500px; left: 200px; top: 200px;"></div> |
| </div> |
| </body> |