1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
<!DOCTYPE html>
<meta charset="utf-8">
<title>Flex Container Max-Content Sizes</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#intrinsic-main-sizes"
title="9.9.1. Flex Container Intrinsic Main Sizes">
<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#intrinsic-cross-sizes"
title="9.9.2. Flex Container Intrinsic Cross Sizes">
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/12123">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
<style>
.flex {
display: inline-flex;
vertical-align: top;
border: 5px solid magenta;
width: max-content;
height: max-content;
}
.flex.min {
width: 0;
height: 0;
min-width: max-content;
min-height: max-content;
}
.flex.max {
width: 200px;
height: 200px;
max-width: max-content;
max-height: max-content;
}
.flex > div {
font: 25px/1 Ahem;
border: 5px solid cyan;
}
</style>
<!-- Single-line row flex container -->
<div class="flex" style="flex-flow: row nowrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex min" style="flex-flow: row nowrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex max" style="flex-flow: row nowrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex" style="flex-flow: row nowrap"
data-expected-width="180" data-expected-height="45">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<div class="flex min" style="flex-flow: row nowrap"
data-expected-width="180" data-expected-height="45">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<div class="flex max" style="flex-flow: row nowrap"
data-expected-width="180" data-expected-height="45">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<hr>
<!-- Single-line column flex container -->
<div class="flex" style="flex-flow: column nowrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex min" style="flex-flow: column nowrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex max" style="flex-flow: column nowrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex" style="flex-flow: column nowrap"
data-expected-width="95" data-expected-height="80">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<div class="flex min" style="flex-flow: column nowrap"
data-expected-width="95" data-expected-height="80">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<div class="flex max" style="flex-flow: column nowrap"
data-expected-width="95" data-expected-height="80">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<hr>
<!-- Multi-line row flex container -->
<div class="flex" style="flex-flow: row wrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex min" style="flex-flow: row wrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex max" style="flex-flow: row wrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex" style="flex-flow: row wrap"
data-expected-width="180" data-expected-height="45">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<div class="flex min" style="flex-flow: row wrap"
data-expected-width="180" data-expected-height="45">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<div class="flex max" style="flex-flow: row wrap"
data-expected-width="180" data-expected-height="45">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<hr>
<!-- Multi-line column flex container -->
<div class="flex" style="flex-flow: column wrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex min" style="flex-flow: column wrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex max" style="flex-flow: column wrap"
data-expected-width="45" data-expected-height="45">
<div style="width: 25px; height: 25px">X</div>
</div>
<div class="flex" style="flex-flow: column wrap"
data-expected-width="95" data-expected-height="80">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<div class="flex min" style="flex-flow: column wrap"
data-expected-width="95" data-expected-height="80">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<div class="flex max" style="flex-flow: column wrap"
data-expected-width="95" data-expected-height="80">
<div data-expected-width="85" data-expected-height="35">X X</div>
<div data-expected-width="85" data-expected-height="35">X X</div>
</div>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<script>
document.fonts.ready.then(() => { checkLayout(".flex") })
</script>
|