| <!DOCTYPE html> | 
 | <link rel="help" href="https://drafts.csswg.org/css-align-3/#align-abspos"> | 
 | <style> | 
 | body { | 
 |   margin: 0; | 
 | } | 
 |  | 
 | .container { | 
 |   writing-mode: vertical-rl; | 
 |   direction: ltr; | 
 |   display: inline-block; | 
 |   position: relative; | 
 |   margin: 20px; | 
 |   border: solid 4px; | 
 |   width: 100px; | 
 |   height: 100px; | 
 | } | 
 |  | 
 | .item { | 
 |   writing-mode: horizontal-tb; | 
 |   direction: ltr; | 
 |   position: absolute; | 
 |   background: green; | 
 |   justify-self: center; | 
 | } | 
 |  | 
 | .inner { | 
 |   width: 20px; | 
 |   height: 20px; | 
 | } | 
 |  | 
 | .rtl { | 
 |   direction: rtl; | 
 | } | 
 | </style> | 
 | <script src="/resources/testharness.js"></script> | 
 | <script src="/resources/testharnessreport.js"></script> | 
 | <script src="/resources/check-layout-th.js"></script> | 
 |  | 
 | <body onload="checkLayout('.item')"> | 
 |  | 
 | <!-- No overflow, centered in IMCB. --> | 
 | <div class="container"> | 
 |   <div class="item" style="top: 20px; bottom: 10px;" data-offset-y="45"> | 
 |     <div class="inner"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- Overflows IMCB, but not CB. --> | 
 | <div class="container"> | 
 |   <div class="item" style="top: 20px; bottom: 10px;" data-offset-y="15"> | 
 |     <div class="inner" style="height: 80px;"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- Overflows weak CB edge, shifted. --> | 
 | <div class="container"> | 
 |   <div class="item" style="top: 20px; bottom: 10px;" data-offset-y="5"> | 
 |     <div class="inner" style="height: 95px;"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- Overflows strong CB edge, shifted. --> | 
 | <div class="container"> | 
 |   <div class="item" style="top: 20px; bottom: 10px;" data-offset-y="0"> | 
 |     <div class="inner" style="height: 120px;"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- No overflow, centered in IMCB. --> | 
 | <div class="container"> | 
 |   <div class="item" style="top: -20px; bottom: -10px;" data-offset-y="35"> | 
 |     <div class="inner"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- No overflow, centered in IMCB. --> | 
 | <div class="container"> | 
 |   <div class="item" style="top: -20px; bottom: -10px;" data-offset-y="-15"> | 
 |     <div class="inner" style="height: 120px;"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- Overflows strong CB edge, shifted. --> | 
 | <div class="container"> | 
 |   <div class="item" style="top: -20px; bottom: -10px;" data-offset-y="-20"> | 
 |     <div class="inner" style="height: 160px;"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- RTL items. --> | 
 | <br> | 
 |  | 
 | <!-- No overflow, centered in IMCB. --> | 
 | <div class="container"> | 
 |   <div class="item rtl" style="top: 20px; bottom: 10px;" data-offset-y="45"> | 
 |     <div class="inner"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- Overflows IMCB, but not CB. --> | 
 | <div class="container"> | 
 |   <div class="item rtl" style="top: 20px; bottom: 10px;" data-offset-y="15"> | 
 |     <div class="inner" style="height: 80px;"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- Overflows weak CB edge, shifted. --> | 
 | <div class="container"> | 
 |   <div class="item rtl" style="top: 20px; bottom: 10px;" data-offset-y="5"> | 
 |     <div class="inner" style="height: 95px;"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- Overflows strong CB edge, shifted. --> | 
 | <div class="container"> | 
 |   <div class="item rtl" style="top: 20px; bottom: 10px;" data-offset-y="0"> | 
 |     <div class="inner" style="height: 120px;"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- No overflow, centered in IMCB. --> | 
 | <div class="container"> | 
 |   <div class="item rtl" style="top: -20px; bottom: -10px;" data-offset-y="35"> | 
 |     <div class="inner"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- No overflow, centered in IMCB. --> | 
 | <div class="container"> | 
 |   <div class="item rtl" style="top: -20px; bottom: -10px;" data-offset-y="-15"> | 
 |     <div class="inner" style="height: 120px;"></div> | 
 |   </div> | 
 | </div> | 
 |  | 
 | <!-- Overflows strong CB edge, shifted. --> | 
 | <div class="container"> | 
 |   <div class="item rtl" style="top: -20px; bottom: -10px;" data-offset-y="-20"> | 
 |     <div class="inner" style="height: 160px;"></div> | 
 |   </div> | 
 | </div> |