diff options
Diffstat (limited to 'layout/reftests/flexbox/pagination/flexbox-multi-row-1d.html')
-rw-r--r-- | layout/reftests/flexbox/pagination/flexbox-multi-row-1d.html | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/layout/reftests/flexbox/pagination/flexbox-multi-row-1d.html b/layout/reftests/flexbox/pagination/flexbox-multi-row-1d.html new file mode 100644 index 0000000000..4a4d022ed8 --- /dev/null +++ b/layout/reftests/flexbox/pagination/flexbox-multi-row-1d.html @@ -0,0 +1,120 @@ +<!DOCTYPE html> +<!-- Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ --> +<html> + <meta charset="utf-8"> + <title>CSS Flexbox Test: Fragmentation of block-size:auto multi-line row-reverse flex container with fixed block-size flex items</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="match" href="flexbox-multi-row-1-ref.html"> + <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."> + + <style> + .multicol { + block-size: 30px; + inline-size: 200px; + column-width: 60px; + column-fill: auto; + column-gap: 10px; + border: 5px solid orange; + margin-block-end: 5px; /* Just to separate each sub-testcase visually. */ + } + .flexContainer { + display: flex; + flex-wrap: wrap-reverse; + flex-direction: row-reverse; + background: gray; + /* border-width is 0 by default; some sub-testcases will increase it. */ + border: 0 solid lightgray; + } + .border-padding { + border-block-width: 10px; + padding-block: 5px; + } + .with-gap { + row-gap: 20px; + column-gap: 10px; + } + + header, nav, article, footer { + inline-size: 30px; + } + .with-gap header, .with-gap nav, .with-gap article, .with-gap footer { + inline-size: 25px; + } + + /* Note: flex items are in visual order as "CMYK": cyan, magenta, yellow, black. */ + footer { + background: cyan; + block-size: 50px; + } + article { + background: magenta; + block-size: 25px; + align-self: flex-end; + } + nav { + background: yellow; + block-size: 40px; + align-self: center; + } + header { + background: black; + block-size: 50px; + align-self: flex-start; + } + + body.multicol-children-block-size > .multicol { + block-size: 50px; + } + </style> + + <script> + function runTest() { + document.body.offsetHeight; + + /* Enlarge the multicol's block-size to exercise pulling and pushing flex items + of an already fragmented flex container. */ + document.body.classList.add("multicol-children-block-size"); + } + </script> + + <body onload="runTest()"> + <!-- Basic one without any margin/border/padding. --> + <div class="multicol"> + <div class="flexContainer"> + <header></header><nav></nav><article></article><footer></footer> + </div> + </div> + + <!-- Test a container with margin-block-start. --> + <div class="multicol"> + <div class="flexContainer" style="margin-block-start: 25px"> + <header></header><nav></nav><article></article><footer></footer> + </div> + </div> + + <!-- Test a container not at the top of the column/page. --> + <div class="multicol"> + <div style="block-size: 25px"></div> + <div class="flexContainer"> + <header></header><nav></nav><article></article><footer></footer> + </div> + </div> + + <!-- Test a container with border and padding. --> + <div class="multicol"> + <div class="flexContainer border-padding"> + <header></header><nav></nav><article></article><footer></footer> + </div> + </div> + + <!-- Test a container with border, padding, and gap. --> + <div class="multicol"> + <div class="flexContainer border-padding with-gap"> + <header></header><nav></nav><article></article><footer></footer> + </div> + </div> + </body> +</html> |