<!DOCTYPE html> <meta charset="utf-8"> <title>CSS Grid Layout Test: Aligning grid items using 'auto' margins and relative sized rows</title> <link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com"> <link rel="help" title="10.2 Aligning with auto margins" href="https://drafts.csswg.org/css-grid/#auto-margins"> <meta name="assert" content="The 'top' and 'bottom' margins must be recomputed whenever the grid item's height changes."> <style> #grid { display: grid; position: relative; background: grey; grid-template-rows: 40% 60%; height: 500px; width: 300px; } #grid div { margin: auto 0px auto 0px; } #item1 { background: green; width: 25px; height: 50px; } #item2 { background: blue; width: 25px; height: 100px; } </style> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/resources/check-layout-th.js"></script> <div id="grid"> <div id="item1"></div> <div id="item2"></div> </div> <script> setup({ explicit_done: true }); document.fonts.ready.then(() => { item1.setAttribute("data-offset-y", "75"); item2.setAttribute("data-offset-y", "300"); checkLayout('#grid', false); item1.style.height = "100px"; item1.setAttribute("data-offset-y", "50"); item2.setAttribute("data-offset-y", "300"); checkLayout('#grid', true); }); </script>