flexbox-single-column-2.html (3305B)
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 fixed block-size single-line column 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-single-column-2-ref.html"> 11 <meta name="assert" content="This test verifies fragmentation of fixed block-size flex items in a fixed block-size single-line column flex container, with various combinations of margin/border/padding, alignments, and row-gap. The block-size of the flex container is made shorter than its flex items."> 12 13 <style> 14 .multicol { 15 block-size: 50px; 16 inline-size: 190px; 17 column-width: 40px; 18 column-fill: auto; 19 column-gap: 10px; 20 border: 5px solid orange; 21 margin-block-end: 5px; /* Just to separate each sub-testcase visually. */ 22 } 23 .flexContainer { 24 display: flex; 25 flex-wrap: nowrap; 26 flex-direction: column; 27 background: gray; 28 /* border-width is 0 by default; some sub-testcases will increase it. */ 29 border: 0 solid lightgray; 30 /* Block-size is deliberately made shorter than all its flex items. */ 31 block-size: 85px; 32 } 33 .border-padding { 34 border-block-width: 10px; 35 padding-block: 5px; 36 } 37 38 /* Note: flex items are in visual order as "CMYK": cyan, magenta, yellow, black. */ 39 header, nav, article, footer { 40 flex-shrink: 0; 41 } 42 header { 43 background: cyan; 44 block-size: 50px; 45 } 46 nav, article, footer { 47 inline-size: 30px; 48 } 49 nav { 50 background: magenta; 51 block-size: 25px; 52 align-self: flex-start; 53 } 54 article { 55 background: yellow; 56 block-size: 25px; 57 align-self: center; 58 } 59 footer { 60 background: black; 61 block-size: 50px; 62 align-self: flex-end; 63 } 64 </style> 65 66 <body> 67 <!-- Basic one without any margin/border/padding. --> 68 <div class="multicol"> 69 <div class="flexContainer"> 70 <header></header><nav></nav><article></article><footer></footer> 71 </div> 72 </div> 73 74 <!-- Test a container with margin-block-start. --> 75 <div class="multicol"> 76 <div class="flexContainer" style="margin-block-start: 25px"> 77 <header></header><nav></nav><article></article><footer></footer> 78 </div> 79 </div> 80 81 <!-- Test a container not at the top of the column/page. --> 82 <div class="multicol"> 83 <div style="block-size: 25px"></div> 84 <div class="flexContainer"> 85 <header></header><nav></nav><article></article><footer></footer> 86 </div> 87 </div> 88 89 <!-- Test a container with border and padding. --> 90 <div class="multicol"> 91 <div class="flexContainer border-padding"> 92 <header></header><nav></nav><article></article><footer></footer> 93 </div> 94 </div> 95 96 <!-- Test a container with border, padding, and row-gap. --> 97 <div class="multicol"> 98 <div class="flexContainer border-padding" style="row-gap: 5px"> 99 <header></header><nav></nav><article></article><footer></footer> 100 </div> 101 </div> 102 </body> 103 </html>