tor-browser

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

flexbox-multi-row-vertical-lr-1c.html (3692B)


      1 <!DOCTYPE html>
      2 <!-- Any copyright is dedicated to the Public Domain.
      3     http://creativecommons.org/publicdomain/zero/1.0/ -->
      4 <html>
      5  <meta charset="utf-8">
      6  <title>CSS Flexbox Test: Fragmentation of block-size:auto multi-line row flex container with fixed block-size flex items</title>
      7  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
      8  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
      9  <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination">
     10  <link rel="match" href="flexbox-multi-row-vertical-lr-1-ref.html">
     11  <meta name="assert" content="This test verifies fragmentation of fixed block-size flex items in a block-size:auto multi-line row flex container, with various combinations of margin/border/padding, alignments, and gap. Also use a script to enlarge multicol block-size.">
     12 
     13  <style>
     14  html {
     15    writing-mode: vertical-lr;
     16  }
     17  .multicol {
     18    block-size: 30px;
     19    inline-size: 200px;
     20    column-width: 60px;
     21    column-fill: auto;
     22    column-gap: 10px;
     23    border: 5px solid orange;
     24    margin-block-end: 5px; /* Just to separate each sub-testcase visually. */
     25  }
     26  .flexContainer {
     27    display: flex;
     28    flex-wrap: wrap;
     29    flex-direction: row;
     30    background: gray;
     31    /* border-width is 0 by default; some sub-testcases will increase it. */
     32    border: 0 solid lightgray;
     33  }
     34  .border-padding {
     35    border-block-width: 10px;
     36    padding-block: 5px;
     37  }
     38  .with-gap {
     39    row-gap: 20px;
     40    column-gap: 10px;
     41  }
     42 
     43  header, nav, article, footer {
     44    inline-size: 30px;
     45  }
     46  .with-gap header, .with-gap nav, .with-gap article, .with-gap footer {
     47    inline-size: 25px;
     48  }
     49 
     50  /* Note: flex items are in visual order as "CMYK": cyan, magenta, yellow, black. */
     51  header {
     52    background: cyan;
     53    block-size: 50px;
     54  }
     55  nav {
     56    background: magenta;
     57    block-size: 25px;
     58    align-self: flex-start;
     59  }
     60  article {
     61    background: yellow;
     62    block-size: 40px;
     63    align-self: center;
     64  }
     65  footer {
     66    background: black;
     67    block-size: 50px;
     68    align-self: flex-end;
     69  }
     70 
     71  body.multicol-children-block-size > .multicol {
     72    block-size: 50px;
     73  }
     74  </style>
     75 
     76  <script>
     77  function runTest() {
     78    document.body.offsetHeight;
     79 
     80    /* Enlarge the multicol's block-size to exercise pulling and pushing flex items
     81       of an already fragmented flex container. */
     82    document.body.classList.add("multicol-children-block-size");
     83  }
     84  </script>
     85 
     86  <body onload="runTest()">
     87    <!-- Basic one without any margin/border/padding. -->
     88    <div class="multicol">
     89      <div class="flexContainer">
     90        <header></header><nav></nav><article></article><footer></footer>
     91      </div>
     92    </div>
     93 
     94    <!-- Test a container with margin-block-start. -->
     95    <div class="multicol">
     96      <div class="flexContainer" style="margin-block-start: 25px">
     97        <header></header><nav></nav><article></article><footer></footer>
     98      </div>
     99    </div>
    100 
    101    <!-- Test a container not at the top of the column/page. -->
    102    <div class="multicol">
    103      <div style="block-size: 25px"></div>
    104      <div class="flexContainer">
    105        <header></header><nav></nav><article></article><footer></footer>
    106      </div>
    107    </div>
    108 
    109    <!-- Test a container with border and padding. -->
    110    <div class="multicol">
    111      <div class="flexContainer border-padding">
    112        <header></header><nav></nav><article></article><footer></footer>
    113      </div>
    114    </div>
    115 
    116    <!-- Test a container with border, padding, and gap. -->
    117    <div class="multicol">
    118      <div class="flexContainer border-padding with-gap">
    119        <header></header><nav></nav><article></article><footer></footer>
    120      </div>
    121    </div>
    122  </body>
    123 </html>