layout/reftests/w3c-css/submitted/flexbox/flexbox-paint-ordering-2.xhtml

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:dfdb3b45b39e
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 Any copyright is dedicated to the Public Domain.
4 http://creativecommons.org/publicdomain/zero/1.0/
5 -->
6 <!-- Testcase with flex items containing overlapping content, with
7 "order" and "z-index" set on some of them, to test how that affects
8 paint-order. -->
9 <html xmlns="http://www.w3.org/1999/xhtml">
10 <head>
11 <title>CSS Test: Testing the paint-order of overlapping flex items with 'order' and 'z-index' set</title>
12 <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
13 <link rel="help" href="http://www.w3.org/TR/css3-flexbox/#painting"/>
14 <link rel="match" href="flexbox-paint-ordering-2-ref.xhtml"/>
15 <style>
16 body {
17 line-height: 0;
18 }
19
20 .flexbox {
21 display: inline-flex;
22 width: 20px;
23 height: 10px;
24 border: 2px solid gray;
25 margin-bottom: 10px;
26 margin-right: 10px;
27 }
28 .a {
29 width: 10px;
30 height: 10px;
31 background: lightblue;
32 min-width: 0;
33 }
34 .b {
35 width: 10px;
36 height: 10px;
37 background: pink;
38 min-width: 0;
39 }
40
41 .aKid {
42 margin-left: 3px;
43 margin-top: 3px;
44 width: 10px;
45 height: 10px;
46 background: steelblue;
47 border: 1px solid blue;
48 }
49 .bKid {
50 margin-left: 3px;
51 margin-top: 6px;
52 width: 10px;
53 height: 10px;
54 background: violet;
55 border: 1px solid purple;
56 }
57
58 .on1 { order: -1; }
59 .o0 { order: 0; }
60 .o1 { order: 1; }
61 .o2 { order: 2; }
62
63 .zn2 { z-index: -2; }
64 .zn1 { z-index: -1; }
65 .z0 { z-index: 0; }
66 .z1 { z-index: 1; }
67
68 </style>
69 </head>
70 <body>
71 <!-- order not set: -->
72 <div class="flexbox">
73 <div class="a"><div class="aKid"/></div>
74 <div class="b"><div class="bKid"/></div>
75 </div>
76
77 <br/>
78
79 <!-- order set, but it matches content order, so it shouldn't matter: -->
80 <div class="flexbox">
81 <div class="a on1"><div class="aKid"/></div>
82 <div class="b"><div class="bKid"/></div>
83 </div
84 ><div class="flexbox">
85 <div class="a o0"><div class="aKid"/></div>
86 <div class="b"><div class="bKid"/></div>
87 </div
88 ><div class="flexbox">
89 <div class="a o0"><div class="aKid"/></div>
90 <div class="b o0"><div class="bKid"/></div>
91 </div
92 ><div class="flexbox">
93 <div class="a o2"><div class="aKid"/></div>
94 <div class="b o2"><div class="bKid"/></div>
95 </div
96 ><div class="flexbox">
97 <div class="a"><div class="aKid"/></div>
98 <div class="b o0"><div class="bKid"/></div>
99 </div
100 ><div class="flexbox">
101 <div class="a"><div class="aKid"/></div>
102 <div class="b o1"><div class="bKid"/></div>
103 </div>
104
105 <br/>
106
107 <!-- order set to reverse of content-order: -->
108 <div class="flexbox">
109 <div class="a o1"><div class="aKid"/></div>
110 <div class="b"><div class="bKid"/></div>
111 </div
112 ><div class="flexbox">
113 <div class="a"><div class="aKid"/></div>
114 <div class="b on1"><div class="bKid"/></div>
115 </div
116 ><div class="flexbox">
117 <div class="a o0"><div class="aKid"/></div>
118 <div class="b on1"><div class="bKid"/></div>
119 </div
120 ><div class="flexbox">
121 <div class="a o2"><div class="aKid"/></div>
122 <div class="b o1"><div class="bKid"/></div>
123 </div>
124
125 <br/>
126
127 <!-- order set to reverse of content-order, AND with z-index set on
128 one or both items, but not such that it changes the paint order -->
129 <div class="flexbox">
130 <div class="a o1 z0"><div class="aKid"/></div>
131 <div class="b"><div class="bKid"/></div>
132 </div
133 ><div class="flexbox">
134 <div class="a o1 z1"><div class="aKid"/></div>
135 <div class="b"><div class="bKid"/></div>
136 </div
137 ><div class="flexbox">
138 <div class="a o1 z0"><div class="aKid"/></div>
139 <div class="b z0"><div class="bKid"/></div>
140 </div
141 ><div class="flexbox">
142 <div class="a o1 z1"><div class="aKid"/></div>
143 <div class="b z0"><div class="bKid"/></div>
144 </div>
145
146 <br/>
147
148 <!-- order set to reverse of content-order, AND with z-index set on
149 one or both items, in such a way that it affects paint order -->
150 <div class="flexbox">
151 <!-- 'a' is behind the container's border -->
152 <div class="a o1 zn1"><div class="aKid"/></div>
153 <div class="b"><div class="bKid"/></div>
154 </div
155 ><div class="flexbox">
156 <!-- 'a' and 'b' are both behind the container's border -->
157 <div class="a o1 zn1"><div class="aKid"/></div>
158 <div class="b zn1"><div class="bKid"/></div>
159 </div
160 ><div class="flexbox">
161 <!-- 'a' and 'b' are both behind the container's border,
162 and 'a' is behind 'b' despite coming after it in the 'order'
163 ordering-->
164 <div class="a o1 zn2"><div class="aKid"/></div>
165 <div class="b zn1"><div class="bKid"/></div>
166 </div
167 ><div class="flexbox">
168 <!-- 'a' and 'b' are both in front of the container's border,
169 and 'a' is behind 'b' despite coming after it in the 'order'
170 ordering-->
171 <div class="a o1 z0"><div class="aKid"/></div>
172 <div class="b z1"><div class="bKid"/></div>
173 </div>
174
175 </body>
176 </html>

mercurial