Status: PASS | Duration: 2ms | Subtests: 1/1 | Open test on wpt.live | wpt.fyi
/css/css-grid/alignment/grid-self-alignment-positioned-items-with-margin-border-padding-004.html
<!DOCTYPE html> <meta charset="utf-8"> <title>CSS Grid Layout Test: Self-Alignment of absolute positioned items with 'definite' grid positions and margin, border and padding</title> <link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#column-align"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos-items"> <link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-self"> <link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-self"> <meta name="assert" content="Absolute positioned grid items alignment works as expected when items have margins, borders and paddings."> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style> .grid { position: relative; display: inline-grid; grid-template-columns: 100px 150px; grid-template-rows: 150px 100px; font: 10px/1 Ahem; background: grey; } .grid > div { position: absolute; } .grid > :nth-child(1) { background: green; } .grid > :nth-child(2) { background: blue; } .grid > :nth-child(3) { background: yellow; } .grid > :nth-child(4) { background: red; } .grid > div { margin: 2px 4px 6px 8px; padding: 3px 2px 4px 5px; border-color: silver; border-style: solid; border-width: 1px 6px 2px 3px; } .RTL { direction: rtl; } .verticalLR { writing-mode: vertical-lr; } .verticalRL { writing-mode: vertical-rl; } .firstRowFirstColumn { grid-row: 1 / 2; grid-column: 1 / 2; align-self: start; justify-self: right; } .firstRowSecondColumn { grid-row: 1 / 2; grid-column: 2 / 3; align-self: end; justify-self: center; } .secondRowFirstColumn { grid-row: 2 / 3; grid-column: 1 / 2; align-self: center; justify-self: start; } .secondRowSecondColumn { grid-row: 2 / 3; grid-column: 2 / 3; align-self: end; justify-self: left; } </style> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/resources/check-layout-th.js"></script> <script type="text/javascript"> setup({ explicit_done: true }); </script> <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })"> <div class="grid"> <div data-offset-x="20" data-offset-y="2" data-expected-width="76" data-expected-height="20" class="firstRowFirstColumn">X XX X</div> <div data-offset-x="134" data-offset-y="104" data-expected-width="86" data-expected-height="40" class="firstRowSecondColumn">XX X<br>X XXX X<br>XX XXX</div> <div data-offset-x="8" data-offset-y="188" data-expected-width="76" data-expected-height="20" class="secondRowFirstColumn">X XX X</div> <div data-offset-x="108" data-offset-y="194" data-expected-width="76" data-expected-height="50" class="secondRowSecondColumn">XX X<br>X XXX<br>X<br>XX XXX</div> </div> <div class="rid RTL"> <div data-offset-x="170" data-offset-y="2" data-expected-width="76" data-expected-height="20" class="firstRowFirstColumn">X XX X</div> <div data-offset-x="34" data-offset-y="104" data-expected-width="86" data-expected-height="40" class="firstRowSecondColumn">XX X<br>X XXX X<br>XX XXX</div> <div data-offset-x="170" data-offset-y="188" data-expected-width="76" data-expected-height="20" class="secondRowFirstColumn">X XX X</div> <div data-offset-x="8" data-offset-y="194" data-expected-width="76" data-expected-height="50" class="secondRowSecondColumn">XX X<br>X XXX<br>X<br>XX XXX</div> </div> <br><br> <div class="rid verticalLR"> <div data-offset-x="8" data-offset-y="24" data-expected-width="26" data-expected-height="70" class="firstRowFirstColumn">X XX X</div> <div data-offset-x="100" data-offset-y="133" data-expected-width="46" data-expected-height="80" class="firstRowSecondColumn">XX X<br>X XXX X<br>XX XXX</div> <div data-offset-x="189" data-offset-y="2" data-expected-width="26" data-expected-height="70" class="secondRowFirstColumn">X XX X</div> <div data-offset-x="190" data-offset-y="102" data-expected-width="56" data-expected-height="70" class="secondRowSecondColumn">XX X<br>X XXX<br>X<br>XX XXX</div> </div> <div class="rid verticalRL"> <div data-offset-x="220" data-offset-y="24" data-expected-width="26" data-expected-height="70" class="firstRowFirstColumn">X XX X</div> <div data-offset-x="108" data-offset-y="133" data-expected-width="46" data-expected-height="80" class="firstRowSecondColumn">XX X<br>X XXX X<br>XX XXX</div> <div data-offset-x="39" data-offset-y="2" data-expected-width="26" data-expected-height="70" class="secondRowFirstColumn">X XX X</div> <div data-offset-x="8" data-offset-y="102" data-expected-width="56" data-expected-height="70" class="secondRowSecondColumn">XX X<br>X XXX<br>X<br>XX XXX</div> </div> </body>