<!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: Testing 'auto' min-sizing with definite min-width/height</title> <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1176775"> <style type="text/css"> body,html { color:black; background:white; font-size:12px; padding:0; margin:0; } br { clear:both; } .grid { display: grid; border: 1px dashed silver; grid-template-columns: minmax(0,min-content); grid-template-rows: minmax(0,min-content) minmax(0,min-content); float: left; margin-bottom:20px; align-items: start; justify-items: start; } .v { writing-mode: vertical-lr; -webkit-writing-mode: vertical-lr; } .h { writing-mode: horizontal-tb; -webkit-writing-mode: horizontal-tb; } .bb { box-sizing: border-box; } span { display: block; background: lime; margin: 7px 13px 50% 20%; padding:1px 3px 10% 30%; } span.v { height: 30px; width: 10px; border-left: 1px solid; border-top: 3px solid; } span.h { width: 30px; height: 10px; border-left: 3px solid; border-top: 1px solid; } b40 { display: block; width: 40px; height: 40px; border: 1px solid pink; z-index: 1; position:relative; } .h.r { height: 42px; width: 42px; /* 49px is the percentage basis, i.e. the column size */ margin-left: calc(0.2 * 49px); padding: 1px 3px calc(0.1 * 49px) calc(0.3 * 49px); } .v.r { height: 42px; width: 42px; /* 27px is the percentage basis, i.e. the column size */ margin-left: calc(0.2 * 27px); padding: 1px 3px calc(0.1 * 27px) calc(0.3 * 27px); } .r { position:relative; } .t4 { width: 49px; height: calc(10px /* item min-height */ + 7px /* item margin-top */ + 1px /* item padding-top */ + 1px /* item border-top */ + calc(0.5 * 49px) /* item margin-bottom */ + calc(0.1 * 49px) /* item padding-bottom */); } .t6 { width:46px; } .t8 { width: 27px; height: calc(30px /* item min-height */ + 7px /* item margin-top */ + 3px /* item padding-top */ + 1px /* item border-top */ + calc(0.5 * 27px) /* item margin-bottom */ + calc(0.1 * 27px) /* item padding-bottom */); } xx { display: block; background: lime; padding: 32px 32px calc(0.2 * 32px) calc(0.4 * 32px); margin: 0 0 calc(0.4 * 32px) calc(0.2 * 32px); } .t9, .t10 { position: relative; z-index: 1; grid: calc(32px + calc(0.4 * 32px) + calc(0.2 * 32px)) 0 / 32px; } </style> </head> <body> <div class="grid"><span class="h"><x></x></span></div> <div class="grid"><span class="h bb"><x></x></span></div> <div class="grid"><span class="h"><x></x></span><span class="h"><x></x></span></div> <div class="grid t4"><span class="h r"><b40></b40></span></div> <br> <div class="grid"><span class="v"><x></x></span></div> <div class="grid"><span class="v bb"><x></x></span></div> <div class="grid"><span class="v"><x></x></span><span class="v"><x></x></span></div> <div class="grid t8"><span class="v r"><b40></b40></span></div> <div class="grid t9"><xx class="v"></xx></div> <div class="grid v t10"><xx class="h"></xx></div> </body> </html>