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
|
<!DOCTYPE html>
<!-- Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ -->
<!-- Testcase for how we fragment an empty fixed-height flex container, with
various combinations of margin/border/padding helping it to be too tall,
with the flex container overflowing its fixed-height-block parent,
and with the flex container having "flex-direction: row".
-->
<html>
<head>
<style>
.multicol {
height: 10px;
width: 100px;
column-width: 20px;
column-fill: auto;
border: 2px solid orange;
}
.fixedHeightBlock {
height: 2px;
}
.flexContainer {
display: flex;
flex-direction: row;
background: teal;
/* border-width is 0 by default; some sub-testcases will increase it. */
border: 0 dashed black;
}
</style>
</head>
<body>
<!-- NO BORDERS/PADDING -->
<!-- ================== -->
<!-- content fits exactly into 1 column: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 10px"></div>
</div></div>
<!-- content fits, but margin-top pushes it to overflow: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 9px;
margin-top: 2px;"></div>
</div></div>
<!-- content is too tall, by 1px: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 11px"></div>
</div></div>
<!-- BORDERS/PADDING ON TOP -->
<!-- ====================== -->
<!-- content fits, but border-top makes us too tall: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 9px;
border-top-width: 2px"></div>
</div></div>
<!-- content fits, but padding-top makes us too tall: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 9px;
padding-top: 2px"></div>
</div></div>
<!-- content fits, but border/padding-top make us too tall: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 9px;
border-top-width: 1px;
padding-top: 1px"></div>
</div></div>
<!-- BORDERS/PADDING ON BOTTOM -->
<!-- ========================= -->
<!-- content fits, but border-bottom-width makes us too tall: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 9px;
border-bottom-width: 2px"></div>
</div></div>
<!-- content fits, but padding-bottom makes us too tall: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 9px;
padding-bottom: 2px"></div>
</div></div>
<!-- content fits, but border/padding-bottom make us too tall: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 9px;
border-bottom-width: 1px;
padding-bottom: 1px"></div>
</div></div>
<!-- BORDERS/PADDING ON TOP AND BOTTOM -->
<!-- ================================= -->
<!-- content fits, but border-top/bottom combined make us too tall: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 9px;
border-top-width: 1px;
border-bottom-width: 1px"></div>
</div></div>
<!-- content fits, but padding-top/bottom combined make us too tall: -->
<div class="multicol"><div class="fixedHeightBlock">
<div class="flexContainer" style="height: 9px;
padding-top: 1px;
padding-bottom: 1px"></div>
</div></div>
</body>
</html>
|