<!-- Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> <!DOCTYPE html> <html><head> <meta charset="utf-8"> <title>CSS Grid Test: Testing track flex max-sizing with min/max</title> <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1309407"> <link rel="help" href="http://dev.w3.org/csswg/css-grid/#algo-flex-tracks"> <link rel="match" href="grid-max-sizing-flex-007-ref.html"> <style type="text/css"> .grid { display: grid; border:1px dashed; margin: 3px; } .rows { float: left; grid: minmax(10px, 1fr) minmax(10px, 4fr) / 50px; grid-row-gap: 33px; } .cols { display: inline-grid; grid: 50px / minmax(10px, 1fr) minmax(10px, 4fr); grid-column-gap: 33px; } .item:nth-child(1) { background-color: purple; } .item:nth-child(2) { background-color: blue; } </style> </head><body> <!-- NOTE: The resulting size (in the relevant axis) is 83px for all tests below in the "If the free space is an indefinite length" algo here: https://drafts.csswg.org/css-grid/#algo-flex-tracks These tests verifies that we then also apply min/max sizes per the spec: "If using this flex fraction would cause the grid to be smaller than the grid container’s min-width/height (or larger than the grid container’s max-width/ height), then redo this step, treating the free space as definite and the available grid space as equal to the grid container’s content box size when it’s sized to its min-width/height (max-width/height)." --> <pre>These grids should look the same:</pre> <div class="grid rows" style="max-height:70px"> <div class="item"></div> <div class="item"></div> </div> <div class="grid rows" style="min-height:70px; max-height:60px"> <div class="item"></div> <div class="item"></div> </div> <div class="grid rows" style="height:70px"> <div class="item"></div> <div class="item"></div> </div> <br clear="all"> <pre>These grids should look the same:</pre> <div class="grid rows" style="min-height:90px"> <div class="item"></div> <div class="item"></div> </div> <div class="grid rows" style="min-height:90px; max-height:60px"> <div class="item"></div> <div class="item"></div> </div> <div class="grid rows" style="height:90px"> <div class="item"></div> <div class="item"></div> </div> <br clear="all"> <pre>These grids should look the same:</pre> <div class="grid cols" style="max-width:70px"> <div class="item"></div> <div class="item"></div> </div> <div class="grid cols" style="min-width:70px; max-width:60px"> <div class="item"></div> <div class="item"></div> </div> <div class="grid cols" style="width:70px"> <div class="item"></div> <div class="item"></div> </div> <pre>These grids should look the same:</pre> <div class="grid cols" style="min-width:90px"> <div class="item"></div> <div class="item"></div> </div> <div class="grid cols" style="min-width:90px; max-width:60px"> <div class="item"></div> <div class="item"></div> </div> <div class="grid cols" style="width:90px"> <div class="item"></div> <div class="item"></div> </div> </body></html>