Source code
Revision control
Copy as Markdown
Other Tools
<!DOCTYPE HTML>
<!--
     Any copyright is dedicated to the Public Domain.
-->
<html>
  <meta charset="utf-8">
  <title>Reference: Masonry layout max-content sizing</title>
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
  <style>
@import "support/masonry-intrinsic-sizing-visual.css";
grid {
  display: inline-grid;
  gap: 1px 2px;
  border: 1px solid;
  padding: 0 1px 0 2px;
  vertical-align: top;
  align-items: start;
  width: max-content;
  /* keep fixed values small enough for spanners to have an effect */
  grid-template-columns: 1.1ch auto 1.4ch 1fr;
}
item {
  align-self: start;
}
.hidden {
  visibility: hidden;
  height: 0;
}
</style>
<body>
<section>
<grid>
  <item style="width:2ch">1</item>
  <item>2 2</item>
  <item style="grid-area: 1/3/3">3 3</item>
  <item>4</item>
  <item style="grid-area: 2/1">5 5</item>
  <item class="hidden" style="grid-area: 2/4; width: 2ch">0</item>
  <item class="hidden" style="grid-area: 2/4">0 0</item>
</grid>
<grid>
  <item>1</item>
  <item>2 2</item>
  <item style="grid-area: 1/3/3">3 3</item>
  <item>4</item>
  <item style="width: 2ch; grid-area: 2/1">5 5</item>
  <item class="hidden" style="grid-area: 2/4; width: 2ch">0</item>
  <item class="hidden" style="grid-area: 2/4">0 0</item>
</grid>
<grid>
  <item>1</item>
  <item>2 2</item>
  <item style="grid-row: span 2">3 3</item>
  <item>4</item>
  <item style="width:2ch; grid-column:2">5 5</item>
  <item class="hidden" style="grid-column: 4; grid-row: 2;">0 0</item>
</grid>
<grid>
  <item>1</item>
  <item>2 2</item>
  <item>3 3</item>
  <item>4</item>
  <item style="width:4ch; grid-column:2/span 2">5 5</item>
  <item class="hidden" style="grid-column: 4; grid-row: 2;">0 0</item>
</grid>
<grid>
  <item>1</item>
  <item>2 2</item>
  <item>3 3</item>
  <item>4</item>
  <item style="grid-column:2/span 2">5 5</item>
  <item style="width:5ch; grid-column:1/span 3">6</item>
  <item class="hidden" style="grid-column: 4; grid-row: 2;">0 0</item>
</grid>
<grid>
  <item>1</item>
  <item>2 2</item>
  <item>3 3</item>
  <item>4</item>
  <item style="width:3ch; grid-column:2/span 2">5 5</item>
  <item style="width:5ch; grid-column:1/span 3">6</item>
  <item class="hidden" style="grid-column: 4; grid-row: 2;">0 0</item>
</grid>
<grid>
  <item>1</item>
  <item>2 2</item>
  <item style="grid-row: span 2">3 3</item>
  <item>4</item>
  <item style="grid-area: 3/1/4/5">5 5</item>
  <item class="hidden" style="grid-area: 3/2">0 0</item>
  <item class="hidden" style="grid-area: 3/4">0 0</item>
</grid>
<grid>
  <item>1</item>
  <item>2 2</item>
  <item style="grid-row: span 2">3 3</item>
  <item>4</item>
  <item style="width:6ch; grid-area: 3/1/4/5">5 5</item>
  <item class="hidden" style="grid-area: 3/4">0 0</item>
</grid>
<grid>
  <item>1</item>
  <item>2 2</item>
  <item style="grid-row: span 2">3 3</item>
  <item>4</item>
  <item style="width:6ch; grid-area: 3/1/4/4">5 5</item>
  <item class="hidden" style="grid-area: 3/4">0 0</item>
  <item class="hidden" style="width:6ch; grid-area: 3/2/4/5">0 0</item>
</grid>
</section>
</body>