| <!DOCTYPE html> |
| <link rel="help" href="https://drafts.csswg.org/css-anchor-1/#anchor-pos"> |
| <link rel="help" href="https://drafts.csswg.org/css-anchor-1/#fallback"> |
| <link rel="help" href="https://drafts.csswg.org/css-grid/#abspos-items"> |
| <link rel="author" href="mailto:[email protected]"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/check-layout-th.js"></script> |
| <script src="support/test-common.js"></script> |
| <style> |
| .cb { |
| position: relative; |
| } |
| .grid { |
| display: grid; |
| grid-template-columns: repeat(4, 100px); |
| grid-template-rows: 50px 100px 50px 50px; |
| } |
| .item { |
| background: lightgray; |
| } |
| .spacer { |
| background: yellow; |
| } |
| .anchor1 { |
| anchor-name: --a1; |
| background: orange; |
| margin-left: 15px; |
| width: 20px; |
| height: 30px; |
| } |
| .target { |
| grid-column: 2 / 4; |
| grid-row: 2 / 4; |
| position: absolute; |
| position-try-fallbacks: --f1, --f2, --f3; |
| width: 100px; |
| height: 100px; |
| background: lime; |
| opacity: .2; |
| /* Position to the left of the anchor. */ |
| position-anchor: --a1; |
| right: anchor(left); |
| top: anchor(top); |
| } |
| @position-try --f1 { |
| inset: auto; |
| left: anchor(right); |
| top: anchor(top); |
| width: 250px; |
| } |
| @position-try --f2 { |
| /* Position to the right of the anchor. This entry should succeed. */ |
| inset: auto; |
| left: anchor(right); |
| top: anchor(top); |
| } |
| @position-try --f3 { |
| /* Zero-sized, the last entry wins if none succeeded. */ |
| inset: auto; |
| left: 0; |
| top: 0; |
| width: 0; |
| height: 0; |
| } |
| </style> |
| <body onload="checkLayoutForAnchorPos('.target')"> |
| <div> |
| <div class="spacer" style="height: 10px"></div> |
| <div class="grid cb"> |
| <div class="item">1</div> |
| <div class="item">2</div> |
| <div class="item">3</div> |
| <div class="item">4</div> |
| <div class="item">5</div> |
| <div class="item"> |
| <div class="spacer" style="height: 20px"></div> |
| <div class="anchor1"></div> |
| </div> |
| <div class="item">7</div> |
| <div class="item">8</div> |
| <div class="item">9</div> |
| <div class="item">10</div> |
| <div class="item">11</div> |
| <div class="item">12</div> |
| <div class="item">13</div> |
| <div class="item">14</div> |
| <div class="item">15</div> |
| <div class="item">16</div> |
| |
| <div class="target" |
| data-offset-x=135 data-offset-y=70 |
| data-expected-height=100></div> |
| </div> |
| </div> |
| </body> |