tor-browser

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

grid-content-alignment-auto-sized-tracks-001.html (9670B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <title>CSS Grid Layout Test: content alignment and auto sized tracks.</title>
      5 <link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com">
      6 <link rel="help" href="https://drafts.csswg.org/css-grid/#alignment">
      7 <link rel="help" href="https://drafts.csswg.org/css-grid-1/#auto-tracks">
      8 <link rel="help" href="https://drafts.csswg.org/css-align-3/#distribution-values">
      9 <link rel="help" href="https://drafts.csswg.org/css-align-3/#content-distribution">
     10 <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=376823">
     11 <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=249451">
     12 <link rel="stylesheet" href="/fonts/ahem.css">
     13 <link rel="stylesheet" href="/css/support/alignment.css">
     14 <meta name="assert" content="Test that 'stretch' value for content alignment properties is applied only on 'auto-sized' tracks, which are the ones with an 'auto' max sizing function." />
     15 
     16 <style>
     17 body {
     18  margin: 0px;
     19 }
     20 
     21 .grid {
     22  display: grid;
     23  background-color: grey;
     24  position: relative;
     25 }
     26 
     27 .definiteSize {
     28  width: 200px;
     29  height: 300px;
     30 }
     31 
     32 .item {
     33  width: 40px;
     34  height: 80px;
     35 }
     36 
     37 .content {
     38  width: 20px;
     39  height: 40px;
     40 }
     41 
     42 .firstRowFirstColumn {
     43  background-color: blue;
     44  grid-column: 1;
     45  grid-row: 1;
     46 }
     47 .firstRowSecondColumn {
     48  background-color: lime;
     49  grid-column: 2;
     50  grid-row: 1;
     51 }
     52 .secondRowFirstColumn {
     53  background-color: purple;
     54  grid-column: 1;
     55  grid-row: 2;
     56 }
     57 .secondRowSecondColumn {
     58  background-color: orange;
     59  grid-column: 2;
     60  grid-row: 2;
     61 }
     62 
     63 /* track sizes allowed to be stetched */
     64 .autoTracks { grid: auto auto / auto auto; }
     65 .autoMaxTracks { grid:  minmax(40px, auto) minmax(40px, auto) / minmax(20px, auto) minmax(20px, auto); }
     66 
     67 /* content-sized tracks disallowed to be stetched */
     68 .minContentTracks { grid: min-content min-content / min-content min-content; }
     69 .maxContentTracks { grid: max-content max-content / max-content max-content; }
     70 .minMaxWithMaxContentTracks { grid: minmax(20px, max-content) minmax(20px, max-content) / minmax(20px, max-content) minmax(20px, max-content); }
     71 .minMaxWithMinContentTracks { grid: minmax(20px, min-content) minmax(20px, min-content) / minmax(20px, min-content) minmax(20px, min-content); }
     72 .minMaxWithMinAutoTracks { grid: minmax(auto, max-content) minmax(auto, max-content) / minmax(auto, max-content) minmax(auto, max-content); }
     73 .fitContentTracks { grid: fit-content(20px) fit-content(20px) / fit-content(40px) fit-content(40px); font: 10px/1 Ahem; }
     74 </style>
     75 
     76 <script src="/resources/testharness.js"></script>
     77 <script src="/resources/testharnessreport.js"></script>
     78 <script src="/resources/check-layout-th.js"></script>
     79 <script type="text/javascript">
     80  setup({ explicit_done: true });
     81 </script>
     82 </head>
     83 
     84 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     85 
     86 <div style="position: relative">
     87  <p>cols: 'auto' | rows: 'auto' | definite-sized container | definite-sized items </p>
     88  <div class="grid contentStretch itemsStart definiteSize autoTracks" data-expected-width="200" data-expected-height="300">
     89    <div class="item firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
     90    <div class="item firstRowSecondColumn" data-offset-x="100" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
     91    <div class="item secondRowFirstColumn" data-offset-x="0" data-offset-y="150" data-expected-width="40" data-expected-height="80"></div>
     92    <div class="item secondRowSecondColumn" data-offset-x="100" data-offset-y="150" data-expected-width="40" data-expected-height="80"></div>
     93  </div>
     94 </div>
     95 
     96 <div style="position: relative">
     97  <p>cols: 'minmax(20px, auto)' | rows: 'minmax(40px, auto)' | definite-sized container | definite-sized items </p>
     98  <div class="grid contentStretch itemsStart definiteSize autoMaxTracks" data-expected-width="200" data-expected-height="300">
     99    <div class="item firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    100    <div class="item firstRowSecondColumn" data-offset-x="100" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    101    <div class="item secondRowFirstColumn" data-offset-x="0" data-offset-y="150" data-expected-width="40" data-expected-height="80"></div>
    102    <div class="item secondRowSecondColumn" data-offset-x="100" data-offset-y="150" data-expected-width="40" data-expected-height="80"></div>
    103  </div>
    104 </div>
    105 
    106 <div style="position: relative">
    107  <p>cols: 'min-content' | rows: 'min-content' | definite-sized container | definite-sized items </p>
    108  <div class="grid contentStretch itemsStart definiteSize minContentTracks" data-expected-width="200" data-expected-height="300">
    109    <div class="item firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    110    <div class="item firstRowSecondColumn" data-offset-x="40" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    111    <div class="item secondRowFirstColumn" data-offset-x="0" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    112    <div class="item secondRowSecondColumn" data-offset-x="40" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    113  </div>
    114 </div>
    115 
    116 <div style="position: relative">
    117  <p>cols: 'max-content' | rows: 'max-content' | definite-sized container | definite-sized items </p>
    118  <div class="grid contentStretch itemsStart definiteSize maxContentTracks" data-expected-width="200" data-expected-height="300">
    119    <div class="item firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    120    <div class="item firstRowSecondColumn" data-offset-x="40" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    121    <div class="item secondRowFirstColumn" data-offset-x="0" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    122    <div class="item secondRowSecondColumn" data-offset-x="40" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    123  </div>
    124 </div>
    125 
    126 <div style="position: relative">
    127  <p>cols: 'minmax(20px, max-content)' | rows: 'minmax(20px, max-content)' | definite-sized container | definite-sized items </p>
    128  <div class="grid contentStretch itemsStart definiteSize minMaxWithMaxContentTracks" data-expected-width="200" data-expected-height="300">
    129    <div class="item firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    130    <div class="item firstRowSecondColumn" data-offset-x="40" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    131    <div class="item secondRowFirstColumn" data-offset-x="0" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    132    <div class="item secondRowSecondColumn" data-offset-x="40" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    133  </div>
    134 </div>
    135 
    136 <div style="position: relative">
    137  <p>cols: 'minmax(20px, min-content)' | rows: 'minmax(20px, min-content)' | definite-sized container | definite-sized items </p>
    138  <div class="grid contentStretch itemsStart definiteSize minMaxWithMinContentTracks" data-expected-width="200" data-expected-height="300">
    139    <div class="item firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    140    <div class="item firstRowSecondColumn" data-offset-x="40" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    141    <div class="item secondRowFirstColumn" data-offset-x="0" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    142    <div class="item secondRowSecondColumn" data-offset-x="40" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    143  </div>
    144 </div>
    145 
    146 <div style="position: relative">
    147  <p>cols: 'minmax(auto, max-content)' | rows: 'minmax(auto, max-content)' | definite-sized container | definite-sized items </p>
    148  <div class="grid contentStretch itemsStart definiteSize minMaxWithMinAutoTracks" data-expected-width="200" data-expected-height="300">
    149    <div class="item firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    150    <div class="item firstRowSecondColumn" data-offset-x="40" data-offset-y="0" data-expected-width="40" data-expected-height="80"></div>
    151    <div class="item secondRowFirstColumn" data-offset-x="0" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    152    <div class="item secondRowSecondColumn" data-offset-x="40" data-offset-y="80" data-expected-width="40" data-expected-height="80"></div>
    153  </div>
    154 </div>
    155 
    156 <div style="position: relative">
    157  <p>cols: 'fit-content(40px)' | rows: 'fit-content(20px)' | definite-sized container | content-sized items</p>
    158  <div class="grid contentStretch itemsStart definiteSize fitContentTracks" data-expected-width="200" data-expected-height="300">
    159    <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="40" data-expected-height="20">X XX XX X</div>
    160    <div class="firstRowSecondColumn" data-offset-x="40" data-offset-y="0" data-expected-width="40" data-expected-height="20">X XX XX X</div>
    161    <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="20" data-expected-width="40" data-expected-height="20">X XX XX X</div>
    162    <div class="secondRowSecondColumn" data-offset-x="40" data-offset-y="20" data-expected-width="40" data-expected-height="20">X XX XX X</div>
    163  </div>
    164 </div>
    165 
    166 </body>
    167 </html>