<!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 table items with 'normal' and/or 'stretch' and min/max-size, with Automatic Minimum Size clamping</title> <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id="> <style type="text/css"> * { vertical-align: bottom; } .grid { display: inline-grid; border: 3px solid grey; grid: 32px / 4px; margin-right:20px; align-items: start; justify-items: start; } .r { grid: 4px / 32px; } table { border: 1px solid; padding: 0; margin: 0; background: lightgrey; min-width: 0; min-height: 0px; } x { display:block; width:16px; height:16px; } .w20 { width: 20px } .wfill { width:32px } .mxw2 { width: 2px } .mxw10 { width: 10px } .mw20 { width: 20px } .h20 { height: 20px } .hfill { height:32px } .mxh10 { height: 10px } .mxh2 { height: 2px } .mh20 { height: 20px } .h16 { height: 16px } /* XXX to workaround bug 307866 */ </style> </head> <body> <div class="grid r"><table cellpadding=0 cellspacing=0 class="wfill"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="sa"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="sa mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="na"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="na mxw2"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="as wfill"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="as mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="an wfill"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="an mxw2"><td><x></x></td></table></div> <pre><!--min-height:20px--></pre> <div class="grid r"><table cellpadding=0 cellspacing=0 class="mh20 wfill"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="mh20 mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="h16"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="sa mh20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="sa mh20 mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="na mh20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="na mh20 mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="as h16 wfill"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="an h16 wfill"><td><x></x></td></table></div> <pre><!--min-height:0--></pre> <div class="grid r"><table cellpadding=0 cellspacing=0 class="mh0 wfill"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="mh0 mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="sa mh0"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="sa mh0 mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="na mh0"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="na mh0 mxw2"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="as mh0 wfill"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="an mh0 wfill"><td><x></x></td></table></div> <pre><!----></pre> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill mxw2"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start mxw2"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill sa"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill sa mxw2"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill na"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill na mxw2"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as mxw2"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an mxw2"><td><x></x></td></table></div> <pre><!--min-width:20px--></pre> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill mw20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="mw20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start mw20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start mw20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill sa mw20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="sa mw20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill na mw20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="na mw20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as mw20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as mw20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an mw20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an mw20 mxh10"><td><x></x></td></table></div> <pre><!--min-width:0--></pre> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill mw0"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="mw0 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start mw0"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start mw0 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill sa mw0"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="sa mw0 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill na mw0"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="na mw0 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as mw0"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as mw0 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an mw0"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an mw0 mxh10"><td><x></x></td></table></div> <pre><!--width:20px--></pre> <div class="grid r"><table cellpadding=0 cellspacing=0 class="w20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="w20 mxh10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="start w20 mxh10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="sa w20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="na w20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="as w20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="an w20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="an w20 mxh2"><td><x></x></td></table></div> <pre><!--width:20px--></pre> <div class="grid"><table cellpadding=0 cellspacing=0 class="start w20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start w20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start w20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start w20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill sa w20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="sa w20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="hfill na w20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="na w20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as w20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as w20 mxh10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an w20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an w20 mxh10"><td><x></x></td></table></div> <pre><!--height:20px--></pre> <div class="grid r"><table cellpadding=0 cellspacing=0 class="wfill h20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="h20 mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="start h20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="start h20 mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="wfill as h20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="as h20 mxw10"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="wfill an h20"><td><x></x></td></table></div> <div class="grid r"><table cellpadding=0 cellspacing=0 class="an h20 mxw10"><td><x></x></td></table></div> <pre><!--height:20px--></pre> <div class="grid"><table cellpadding=0 cellspacing=0 class="h20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="h20 mxw2"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start h20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="start h20 mxw10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="sa h20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="sa h20 mxw2"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="na h20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="na h20 mxw10"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as h20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="as h20 mxw2"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an h20"><td><x></x></td></table></div> <div class="grid"><table cellpadding=0 cellspacing=0 class="an h20 mxw10"><td><x></x></td></table></div> </body> </html>