blob: 16728b8c7e42c078de20ea11eb0603064179cc2f (
plain)
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
|
<!DOCTYPE html>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<html>
<head>
<meta charset="utf-8">
<title>
CSS Test: Testing how explicit main-size & cross-size constraints
influence sizing on non-stretched flex item w/ intrinsic ratio,
some padding, and box-sizing:border-box.
</title>
<link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#hypothetical-main-size">
<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#hypothetical-cross-size">
<style>
.flexbox {
display: flex;
flex-direction: row;
border: 1px solid black;
margin: 0 2px 2px 0; /* (Just for spacing things out, visually) */
width: 40px;
height: 40px;
justify-content: flex-start;
align-items: flex-start;
float: left; /* For testing in "rows" */
}
img {
padding: 1px 2px 3px 4px;
box-sizing: border-box;
background: pink;
}
br { clear: both; }
.flexbox > * {
/* Disable "min-width:auto"/"min-height:auto" to focus purely on
later channels of influence. */
min-width: 0;
min-height: 0;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
</head>
<body onload="checkLayout('.flexbox > img')">
<!-- NOTE: solidblue.png has an intrinsic size of 16px by 16px. -->
<!-- Row 1: no special sizing: -->
<div class="flexbox">
<img src="support/solidblue.png" data-expected-width="22" data-expected-height="20">
</div>
<br>
<!-- Row 2: Specified main-size, cross-size, or flex-basis: -->
<div class="flexbox">
<img src="support/solidblue.png" style="width: 30px" data-expected-width="30" data-expected-height="28">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="height: 30px" data-expected-width="32" data-expected-height="30">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="flex: 0 0 30px" data-expected-width="30" data-expected-height="28">
</div>
<br>
<!-- Row 3: min main-size OR min cross-size, or both -->
<div class="flexbox">
<img src="support/solidblue.png" style="min-width: 34px" data-expected-width="34" data-expected-height="32">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="min-height: 34px" data-expected-width="36" data-expected-height="34">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="min-width: 30px;
min-height: 34px" data-expected-width="36" data-expected-height="34">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="min-width: 34px;
min-height: 30px" data-expected-width="34" data-expected-height="32">
</div>
<br>
<!-- Row 4: max main-size OR max cross-size, or both -->
<div class="flexbox">
<img src="support/solidblue.png" style="max-width: 16px" data-expected-width="16" data-expected-height="14">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="max-height: 16px" data-expected-width="18" data-expected-height="16">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="max-width: 20px;
max-height: 14px" data-expected-width="16" data-expected-height="14">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="max-width: 14px;
max-height: 20px" data-expected-width="14" data-expected-height="12">
</div>
<br>
<!-- Row 5: min main-size vs. max cross-size, & vice versa -->
<div class="flexbox">
<img src="support/solidblue.png" style="min-width: 30px;
max-height: 10px" data-expected-width="30" data-expected-height="10">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="max-width: 10px;
min-height: 30px" data-expected-width="10" data-expected-height="30">
</div>
<br>
<!-- Row 6: min|max main-size vs. explicit cross-size, & vice versa -->
<div class="flexbox">
<img src="support/solidblue.png" style="min-width: 30px;
height: 10px" data-expected-width="30" data-expected-height="10">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="width: 30px;
max-height: 10px" data-expected-width="30" data-expected-height="10">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="max-width: 10px;
height: 30px" data-expected-width="10" data-expected-height="30">
</div>
<div class="flexbox">
<img src="support/solidblue.png" style="width: 10px;
min-height: 30px" data-expected-width="10" data-expected-height="30">
</div>
</body>
</html>
|