<!DOCTYPE HTML>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<html><head>
  <meta charset="utf-8">
  <title>Reference: stretching intrinsic ratio item with 'normal' and/or 'stretch', with no Automatic Minimum Size clamping</title>
  <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1315383">
  <style type="text/css">
.grid {
  display: inline-grid;
  border: 1px solid;
  margin: 5px;
  grid-template-columns: repeat(7, min-content);
  grid-auto-rows: min-content;
  grid-column-gap: 10px;
  align-items: start;
  justify-items: start;
}

img { min-width:0; min-height:0; }

x { width:32px; height:2px; background:cyan; }
.w24 > x { width:24px; }
.w8  > x { width:8px; }
.w4  > x { width:4px; }

  </style>
</head>
<body>

<div class="grid" style="grid:24px 10px 24px / repeat(7, 32px); grid-column-gap: 10px;">
<div style="height:24px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:24px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>

<br>

<div class="grid w24" style="grid:32px 10px 32px / repeat(7, 24px); grid-column-gap: 10px;">
<div style="height:32px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:32px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>

<br>

<div class="grid w4" style="grid:8px 10px 8px / repeat(7, 4px); grid-column-gap:32px; ">
<div style="height:8px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:8px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>

<br>

<div class="grid w4" style="grid:32px 10px 32px / repeat(7, 4px); grid-column-gap:32px; ">
<div style="height:32px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:32px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>

<br>

<div class="grid w8" style="grid:repeat(3, 4px) / repeat(7, 8px); grid-gap:8px; ">
<div style="height:4px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:4px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>

<br>

<div class="grid" style="grid:repeat(3, 8px) / repeat(7, 32px); grid-gap:16px; ">
<div style="height:4px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:4px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>

<br>

<script>
var url = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAEElEQVQoz2NgGAWjYBTAAAADEAABaJFtwwAAAABJRU5ErkJggg%3D%3D";
var grids = document.querySelectorAll('.grid');
var js = [ "normal", "start", "center", "stretch" ];
var as = [ "normal", "start", "center", "stretch" ];
var imgSizes =
[
  ['24px', '24px'],
  ['32px', '32px'],
  ['32px', '32px'],
  ['24px', '24px'],
  ['24px', '24px'],
  ['16px', '24px'],
  ['24px', '24px'],
  ['16px', '24px'],
  ['32px', '32px'],
  ['32px', '16px'],
  ['32px', '16px'],
  ['32px', '24px'],
  ['24px', '24px'],
  ['24px', '24px'],
  ['24px', '24px'],
  ['32px', '32px'],
  ['32px', '32px'],
  ['16px', '32px'],
  ['32px', '32px'],
  ['16px', '32px'],
  ['24px', '24px'],
  ['24px', '16px'],
  ['24px', '16px'],
  ['24px', '32px'],
  ['4px', '4px'],
  ['4px', '4px'],
  ['4px', '4px'],
  ['8px', '8px'],
  ['8px', '8px'],
  ['16px', '8px'],
  ['8px', '8px'],
  ['16px', '8px'],
  ['4px', '4px'],
  ['4px', '16px'],
  ['4px', '16px'],
  ['4px', '8px'],
  ['4px', '4px'],
  ['4px', '4px'],
  ['4px', '4px'],
  ['32px', '32px'],
  ['32px', '32px'],
  ['16px', '32px'],
  ['32px', '32px'],
  ['16px', '32px'],
  ['4px', '4px'],
  ['4px', '16px'],
  ['4px', '16px'],
  ['4px', '32px'],
  ['4px', '4px'],
  ['8px', '8px'],
  ['8px', '8px'],
  ['4px', '4px'],
  ['4px', '4px'],
  ['16px', '4px'],
  ['4px', '4px'],
  ['16px', '4px'],
  ['8px', '8px'],
  ['8px', '16px'],
  ['8px', '16px'],
  ['8px', '4px'],
  ['8px', '8px'],
  ['32px', '32px'],
  ['32px', '32px'],
  ['8px', '8px'],
  ['8px', '8px'],
  ['16px', '8px'],
  ['8px', '8px'],
  ['16px', '8px'],
  ['32px', '32px'],
  ['32px', '16px'],
  ['32px', '16px'],
  ['32px', '8px'],
];
var index = 0;  // imgSizes index
for (var i = 0; i < grids.length; ++i) {
  for (var j = 0; j < js.length; j++) {
    for (var a = 0; a < as.length; a++) {
      if (as[a] != "normal" && as[a] != "stretch" &&
          js[j] != "normal" && js[j] != "stretch") {
        continue;
      }
      var img = document.createElement('img');
      img.style.width = imgSizes[index][0];
      img.style.height = imgSizes[index][1];
      if (as[a] != "normal" && as[a] != "stretch")
        img.style.alignSelf = as[a];
      if (js[j] != "normal" && js[j] != "stretch")
        img.style.justifySelf = js[j];
      img.src = url;
      img.setAttribute('title', as[a] + ' / ' + js[j]);
      grids[i].appendChild(img);
      index++;
    }
  }
  for (var j = 0; j < js.length; j++) {
    for (var a = 0; a < as.length; a++) {
      if (as[a] != "normal" && as[a] != "stretch" &&
          js[j] != "normal" && js[j] != "stretch") {
        continue;
      }
      var x = document.createElement('x');
      grids[i].appendChild(x);
    }
  }
}
</script>

</body>
</html>