-
Notifications
You must be signed in to change notification settings - Fork 4k
Expand file tree
/
Copy pathkeyword-sizes-for-intrinsic-contributions.html
More file actions
115 lines (104 loc) · 6.39 KB
/
Copy pathkeyword-sizes-for-intrinsic-contributions.html
File metadata and controls
115 lines (104 loc) · 6.39 KB
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
<!DOCTYPE html>
<title>Keyword sizes for intrinsic contributions</title>
<link rel="author" title="Oriol Brufau" href="obrufau@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#sizing-values">
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#sizing-values">
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic-contribution">
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/10721">
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/11006">
<meta assert="The various keyword sizes produce the right min/max-content contributions.">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style>
.wrapper {
display: inline-block;
vertical-align: top;
margin-right: 200px;
}
.test {
float: left;
clear: both;
margin: 5px;
border: 3px solid;
padding: 2px;
font: 20px/1 Ahem;
}
/* Set the preferred size to small amount, to test that the min size works */
.test.min-width > div { width: 0px }
.test.min-height > div { height: 0px }
/* Set the preferred size to big amount, to test that the max size works */
.test.max-width > div { width: 200px }
.test.max-height > div { height: 200px }
/* stretch isn't widely supported, fall back to vendor-prefixed alternatives */
.width > .stretch { width: -moz-available; width: -webkit-fill-available; width: stretch }
.min-width > .stretch { min-width: -moz-available; min-width: -webkit-fill-available; min-width: stretch }
.max-width > .stretch { max-width: -moz-available; max-width: -webkit-fill-available; max-width: stretch }
.height > .stretch { height: -moz-available; height: -webkit-fill-available; height: stretch }
.min-height > .stretch { min-height: -moz-available; min-height: -webkit-fill-available; min-height: stretch }
.max-height > .stretch { max-height: -moz-available; max-height: -webkit-fill-available; max-height: stretch }
</style>
<div id="log"></div>
<!-- Preferred width -->
<div class="wrapper" style="width: 0px">
<div class="test width" data-expected-width="70"><div style="width: min-content">XXX XXX</div></div>
<div class="test width" data-expected-width="70"><div style="width: fit-content">XXX XXX</div></div>
<div class="test width" data-expected-width="150"><div style="width: max-content">XXX XXX</div></div>
<div class="test width" data-expected-width="70"><div class="stretch">XXX XXX</div></div>
</div>
<div class="wrapper" style="width: 100px">
<div class="test width" data-expected-width="70"><div style="width: min-content">XXX XXX</div></div>
<div class="test width" data-expected-width="90"><div style="width: fit-content">XXX XXX</div></div>
<div class="test width" data-expected-width="150"><div style="width: max-content">XXX XXX</div></div>
<div class="test width" data-expected-width="90"><div class="stretch">XXX XXX</div></div>
</div>
<div class="wrapper" style="width: 200px">
<div class="test width" data-expected-width="70"><div style="width: min-content">XXX XXX</div></div>
<div class="test width" data-expected-width="150"><div style="width: fit-content">XXX XXX</div></div>
<div class="test width" data-expected-width="150"><div style="width: max-content">XXX XXX</div></div>
<div class="test width" data-expected-width="150"><div class="stretch">XXX XXX</div></div>
</div>
<hr>
<!-- Minimum width -->
<div class="wrapper" style="width: 0px">
<div class="test min-width" data-expected-width="70"><div style="min-width: min-content">XXX XXX</div></div>
<div class="test min-width" data-expected-width="70"><div style="min-width: fit-content">XXX XXX</div></div>
<div class="test min-width" data-expected-width="150"><div style="min-width: max-content">XXX XXX</div></div>
<div class="test min-width" data-expected-width="10"><div class="stretch">XXX XXX</div></div>
</div>
<div class="wrapper" style="width: 100px">
<div class="test min-width" data-expected-width="70"><div style="min-width: min-content">XXX XXX</div></div>
<div class="test min-width" data-expected-width="90"><div style="min-width: fit-content">XXX XXX</div></div>
<div class="test min-width" data-expected-width="150"><div style="min-width: max-content">XXX XXX</div></div>
<div class="test min-width" data-expected-width="10"><div class="stretch">XXX XXX</div></div>
</div>
<div class="wrapper" style="width: 200px">
<div class="test min-width" data-expected-width="70"><div style="min-width: min-content">XXX XXX</div></div>
<div class="test min-width" data-expected-width="150"><div style="min-width: fit-content">XXX XXX</div></div>
<div class="test min-width" data-expected-width="150"><div style="min-width: max-content">XXX XXX</div></div>
<div class="test min-width" data-expected-width="10"><div class="stretch">XXX XXX</div></div>
</div>
<hr>
<!-- Maximum width -->
<div class="wrapper" style="width: 0px">
<div class="test max-width" data-expected-width="70"><div style="max-width: min-content">XXX XXX</div></div>
<div class="test max-width" data-expected-width="70"><div style="max-width: fit-content">XXX XXX</div></div>
<div class="test max-width" data-expected-width="150"><div style="max-width: max-content">XXX XXX</div></div>
<div class="test max-width" data-expected-width="210"><div class="stretch">XXX XXX</div></div>
</div>
<div class="wrapper" style="width: 100px">
<div class="test max-width" data-expected-width="70"><div style="max-width: min-content">XXX XXX</div></div>
<div class="test max-width" data-expected-width="90"><div style="max-width: fit-content">XXX XXX</div></div>
<div class="test max-width" data-expected-width="150"><div style="max-width: max-content">XXX XXX</div></div>
<div class="test max-width" data-expected-width="210"><div class="stretch">XXX XXX</div></div>
</div>
<div class="wrapper" style="width: 200px">
<div class="test max-width" data-expected-width="70"><div style="max-width: min-content">XXX XXX</div></div>
<div class="test max-width" data-expected-width="150"><div style="max-width: fit-content">XXX XXX</div></div>
<div class="test max-width" data-expected-width="150"><div style="max-width: max-content">XXX XXX</div></div>
<div class="test max-width" data-expected-width="210"><div class="stretch">XXX XXX</div></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(".test"));
</script>