<!DOCTYPE html>
<title>CSS Grid: track sizing algo with size restrictions and intrinsic sizes.</title>
<link rel="author" title="Sergio Villar" href="mailto:[email protected]"/>
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#layout-algorithm"/>
<meta name="assert" content="This test ensures that fr tracks are properly sized whenever grid has intrinsic sizes."/>
<link rel="issue" href="https://crbug.com/423743"/>
<link href="/css/support/width-keyword-classes.css" rel="stylesheet"/>
<link href="/css/support/height-keyword-classes.css" rel="stylesheet"/>
<link href="/css/support/grid.css" rel="stylesheet"/>
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style>
.container {
width: 100px;
height: 100px;
}
.grid {
grid-template-columns: 1fr;
grid-template-rows: 1fr;
}
div { font: 10px/1 Ahem; }
</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="container">
<div class="grid" data-expected-width="100" data-expected-height="10">
<div>XXX XXX</div>
</div>
</div>
<div class="container">
<div class="grid min-content" data-expected-width="30" data-expected-height="20">
<div>XXX XXX</div>
</div>
</div>
<div class="container">
<div class="grid min-content" data-expected-width="0" data-expected-height="20" style="grid-template-columns:minmax(0, 1fr);">
<div>XXX XXX</div>
</div>
</div>
<div class="container">
<div class="grid max-content" data-expected-width="70" data-expected-height="10">
<div>XXX XXX</div>
</div>
</div>
<div class="container">
<div class="grid fit-content" data-expected-width="70" data-expected-height="10">
<div>XXX XXX</div>
</div>
</div>
<div class="min-content">
<div class="grid" data-expected-width="40" data-expected-height="50">
<div>XXX XXXX XX X XX XXX</div>
</div>
</div>
<div class="grid container" data-expected-width="100" data-expected-height="100">
<div style="display: grid; grid-template-columns: 3fr; grid-template-rows: 2fr;" data-expected-width="100" data-expected-height="100">
<div>XXX XXXX XX X XX XXX</div>
</div>
</div>
<div class="grid" style="grid; grid: 1fr 2fr / 2fr 1fr; width: 300px; height: 300px;" data-expected-width="300" data-expected-height="300">
<div class="firstRowFirstColumn" style="display: grid; grid: 1fr 3fr / 3fr 1fr;" data-expected-width="200" data-expected-height="100">
<div style="border: 2px solid magenta;" data-expected-width="150" data-expected-height="25">XXXX</div>
<div class="secondRowSecondColumn" style="border: 2px solid cyan;" data-expected-width="50" data-expected-height="75">XXXX XX XX</div>
</div>
<div class="secondRowSecondColumn" style="display: grid; grid: 3fr 4fr / 4fr 3fr;" data-expected-width="100" data-expected-height="200">
<div style="border: 2px solid lime;" data-expected-width="56" data-expected-height="86">XXX XX X</div>
<div class="secondRowSecondColumn" style="border: 2px solid navy;" data-expected-width="44" data-expected-height="114">XXXX XXX XXXX XXX XXXX</div>
</div>
</div>
</body>