tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

grid-item-auto-min-size-clamp-001-ref.html (4489B)


      1 <!DOCTYPE html>
      2 <!--
      3     Any copyright is dedicated to the Public Domain.
      4     http://creativecommons.org/publicdomain/zero/1.0/
      5 -->
      6 <html><head>
      7  <meta charset="utf-8">
      8  <title>Reference: Clamp 'automatic minimum size' to definite max-sizing</title>
      9  <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1300369">
     10  <style type="text/css">
     11 body,html { color:black; background:white; font:16px/1 monospace; padding:0; margin:0; }
     12 
     13 .grid {
     14  display: grid;
     15  grid-template-columns: repeat(2,minmax(auto, 15px));
     16  grid-template-rows:    repeat(2,minmax(auto, 10px));
     17  grid-gap: 1px;
     18  align-items: start;
     19  justify-items: start;
     20  float: left;
     21  border: 1px dashed;
     22  margin-right: 16px;
     23  margin-bottom: 14px;
     24 }
     25 .sz {
     26  width: 40px;
     27  height: 40px;
     28 }
     29 
     30 .definite {
     31  grid-template-columns: repeat(2,15px);
     32  grid-template-rows:    repeat(2,10px);
     33 }
     34 .min {
     35  grid-template-columns: repeat(2,minmax(max-content, 15px));
     36  grid-template-rows:    repeat(2,minmax(max-content, 10px));
     37 }
     38 .max {
     39  grid-template-columns: repeat(2,minmax(min-content, 15px));
     40  grid-template-rows:    repeat(2,minmax(min-content, 10px));
     41 }
     42 
     43 .larger .grid {
     44  grid-template-columns: repeat(2,minmax(auto, 25px));
     45  grid-template-rows:    repeat(2,minmax(auto, 28px));
     46 }
     47 .larger .definite {
     48  grid-template-columns: repeat(2,25px);
     49  grid-template-rows:    repeat(2,28px);
     50 }
     51 .larger .min {
     52  grid-template-columns: repeat(2,minmax(min-content, 25px));
     53  grid-template-rows:    repeat(2,minmax(min-content, 28px));
     54 }
     55 .larger .max {
     56  grid-template-columns: repeat(2,minmax(max-content, 25px));
     57  grid-template-rows:    repeat(2,minmax(max-content, 28px));
     58 }
     59 
     60 .stretch .grid {
     61  align-items: stretch;
     62  justify-items: stretch;
     63 }
     64 
     65 .a.grid {
     66  width: 34px;
     67 }
     68 .a.grid.max {
     69  width: 54px;
     70 }
     71 .larger .a.grid {
     72  width: 51px;
     73 }
     74 .larger .a.grid.max {
     75  width: 64px;
     76 }
     77 .a2.grid {
     78  width: 31px;
     79 }
     80 .larger .a2.grid {
     81  width: 51px;
     82 }
     83 .grid.sz.max {
     84  width: 40px;
     85 }
     86 .larger .grid.max.a span {
     87  width:20px;
     88 }
     89 .larger .grid.max.a2 span {
     90  width:20px;
     91 }
     92 
     93 span {
     94  grid-area: 1 / 1;
     95  font-size: 48px;
     96  background: grey;
     97  background-clip: content-box;
     98  border: 1px solid;
     99  padding: 1px 3px 5px 7px;
    100  margin: 3px 5px 7px 1px;
    101 }
    102 .span2 {
    103  grid-area: 1 / 1 / span 2 / span 2;
    104 }
    105 .grid.max span {
    106  width:20px;
    107 }
    108 .larger .grid .span2 {
    109  font-size: 32px;
    110  width: 20px;
    111  height: 32px;
    112 }
    113 .stretch.larger .grid .span2 {
    114  width: 33px;
    115  height: 39px;
    116 }
    117 .stretch.larger .grid.sz .span2 {
    118  width: 22px;
    119  height: 32px;
    120 }
    121 .stretch.larger .grid.definite .span2 {
    122  width: 33px;
    123  height: 39px;
    124 }
    125 
    126 x {
    127  grid-area: 1 / 1;
    128  min-width: 0;
    129  min-height: 0;
    130  align-self: stretch;
    131  justify-self: stretch;
    132  background: cyan;
    133 }
    134 c {
    135  display: block;
    136  width: 20px;
    137  height: 32px;
    138 }
    139 
    140 br {
    141  clear: both;
    142 }
    143  </style>
    144 </head>
    145 <body>
    146 
    147 <div id="tests">
    148 <div class="grid a"><x></x><span><c>X</c></span></div>
    149 <div class="grid definite"><x></x><span><c>X</c></span></div>
    150 <div class="grid a2"><x></x><span class="span2"><c>X</c></span></div>
    151 <div class="grid definite"><x></x><span class="span2"><c>X</c></span></div>
    152 
    153 <div class="grid sz"><x></x><span><c>X</c></span></div>
    154 <div class="grid sz definite"><x></x><span><c>X</c></span></div>
    155 <div class="grid sz"><x></x><span class="span2"><c>X</c></span></div>
    156 <div class="grid sz definite"><x></x><span class="span2"><c>X</c></span></div>
    157 
    158 <br>
    159 
    160 <div class="grid min"><x></x><span><c>X</c></span></div>
    161 <div class="grid min"><x></x><span class="span2"><c>X</c></span></div>
    162 <div class="grid sz min"><x></x><span><c>X</c></span></div>
    163 <div class="grid sz min"><x></x><span class="span2"><c>X</c></span></div>
    164 
    165 <div class="grid a max"><x></x><span><c>X</c></span></div>
    166 <div class="grid max"><x></x><span class="span2"><c>X</c></span></div>
    167 <div class="grid a2 sz max"><x></x><span><c>X</c></span></div>
    168 <div class="grid sz max"><x></x><span class="span2"><c>X</c></span></div>
    169 
    170 <br>
    171 
    172 </div>
    173 
    174 <script>
    175 var tests = document.getElementById('tests');
    176 
    177 var n = tests.cloneNode(true);
    178 var wrap = document.createElement('div');
    179 wrap.className = 'larger';
    180 wrap.appendChild(n);
    181 document.body.appendChild(wrap);
    182 
    183 var n = tests.cloneNode(true);
    184 var wrap = document.createElement('div');
    185 wrap.className = 'stretch';
    186 wrap.appendChild(n);
    187 document.body.appendChild(wrap);
    188 
    189 var n = tests.cloneNode(true);
    190 var wrap = document.createElement('div');
    191 wrap.className = 'stretch larger';
    192 wrap.appendChild(n);
    193 document.body.appendChild(wrap);
    194 
    195 </script>
    196 
    197 </body></html>