Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<!-- This is a reference case for a "9-pages-per-sheet" scenario. The width
and height of each "swatch" is 1/3 the width and height of the page. -->
<style>
html, body { margin: 0; height: 100%; }
body {
display: flex;
flex-flow: row wrap;
}
.swatch {
box-sizing: border-box;
border: 40px solid;
/* The height will be automatically set to the flex container's row height,
via default 'align-self' behavior (which ends up as 'stretch') */
/* Note: it's OK that the flex-basis isn't exactly 1/3 here.
Flexbox layout will give each flex item 33% of the width,
and then divide up the remaining amount equally. This
results in exactly 3 items fitting per row and each one
getting 1/3 of a row, which is all we're going for. */
flex: 1 33%;
}
.swatch:nth-child(1) { border-color: cyan; }
.swatch:nth-child(2) { border-color: yellow; }
.swatch:nth-child(3) { border-color: pink; }
.swatch:nth-child(4) { border-color: orange; }
.swatch:nth-child(5) { border-color: purple; }
.swatch:nth-child(6) { border-color: olive; }
.swatch:nth-child(7) { border-color: blue; }
.swatch:nth-child(8) { border-color: tan; }
.swatch:nth-child(9) { border-color: fuchsia; }
</style>
<div class="swatch"></div>
<div class="swatch"></div>
<div class="swatch"></div>
<div class="swatch"></div>
<div class="swatch"></div>
<div class="swatch"></div>
<div class="swatch"></div>
<div class="swatch"></div>
<div class="swatch"></div>