| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <title>CSS Grid Layout Test: alignment for replaced element</title> | |
| <link rel="author" title="Rossana Monteriso" href="mailto:rmonteriso@igalia.com"> | |
| <link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-self"> | |
| <link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-self"> | |
| <link rel="help" href="https://developer.mozilla.org/en-US/docs/Web/CSS/Replaced_element"> | |
| <link rel="help" href="https://drafts.csswg.org/css-align/#align-grid"> | |
| <link rel="help" href="https://www.w3.org/TR/css-grid-1/#grid-item-sizing"> | |
| <meta name="assert" content="This test checks that the alignment properties apply the 'stretch' value correctly on replaced elements, such as images."> | |
| <meta name="flags" content="ahem"> | |
| <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> | |
| <link rel="stylesheet" href="/css/support/grid.css"> | |
| <link rel="stylesheet" href="/css/support/alignment.css"> | |
| <style> | |
| .grid { | |
| grid-template-columns: 500px; | |
| grid-template-rows: 500px; | |
| } | |
| .fixedSizes { | |
| width: 150px; | |
| height: 150px; | |
| } | |
| .autoMargins { | |
| margin: auto; | |
| } | |
| </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'); })"> | |
| <p>This test checks that the alignment properties align-self and justify-self apply the 'stretch' value correctly on replaced elements.</p> | |
| <div style="position: relative"> | |
| <p>The blue image's original size is 100px x 100px, default alignment is resolved as 'start' for replaced elements so it prevents stretching to be applied.</p> | |
| <div class="grid"> | |
| <img src="/css/support/blue-100.png" data-expected-width="100" data-expected-height="100"/> | |
| </div> | |
| </div> | |
| <div style="position: relative"> | |
| <p>The blue image's original size is 100px x 100px, 'normal' is resolved as 'start' for replaced elements so it prevents stretching to be applied.</p> | |
| <div class="grid itemsNormal"> | |
| <img src="/css/support/blue-100.png" data-expected-width="100" data-expected-height="100"/> | |
| </div> | |
| </div> | |
| <div style="position: relative"> | |
| <p>The blue image's original size is 100px x 100px, but it should be stretched to fill the 500px x 500px grid area it's placed into.</p> | |
| <div class="grid alignItemsStretch justifyItemsStretch"> | |
| <img src="/css/support/blue-100.png" data-expected-width="500" data-expected-height="500"/> | |
| </div> | |
| </div> | |
| <div style="position: relative"> | |
| <p>The blue image's original size is 100px x 100px, non-stretch values prevent stretching to be applied.</p> | |
| <div class="grid itemsCenter"> | |
| <img src="/css/support/blue-100.png" data-expected-width="100" data-expected-height="100"/> | |
| </div> | |
| </div> | |
| <div style="position: relative"> | |
| <p>The blue image's original size is 100px x 100px, non-auto sizes prevent stretching to be applied.</p> | |
| <div class="grid"> | |
| <img class="fixedSizes" src="/css/support/blue-100.png" data-expected-width="150" data-expected-height="150"/> | |
| </div> | |
| </div> | |
| <div style="position: relative"> | |
| <p>The blue image's original size is 100px x 100px, auto-margins prevent stretching to be applied.</p> | |
| <div class="grid"> | |
| <img class="autoMargins" src="/css/support/blue-100.png" data-expected-width="100" data-expected-height="100"/> | |
| </div> | |
| </div> | |
| </body> |