|
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 a series of vertical flex containers, testing each possible |
|
7 value of the 'justify-content' property, and with each individual |
|
8 flex item being larger than the flexbox itself (so that there isn't any |
|
9 packing space available). Also, we've got margin/border/padding on the |
|
10 flex items. |
|
11 * For 'flex-start'/'space-between', we should overflow on the end |
|
12 (bottom) side. |
|
13 * For 'flex-end', we should overflow on the start (top) side. |
|
14 * For 'center'/'space-around', we should overflow equally on both sides. |
|
15 --> |
|
16 <html xmlns="http://www.w3.org/1999/xhtml"> |
|
17 <head> |
|
18 <title>CSS Test: Testing 'justify-content' in a vertical flex container, and its effects on flex items that overflow, with margins/border/padding on flex items</title> |
|
19 <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/> |
|
20 <link rel="help" href="http://www.w3.org/TR/css3-flexbox/#justify-content-property"/> |
|
21 <link rel="match" href="flexbox-justify-content-vert-4-ref.xhtml"/> |
|
22 <style> |
|
23 body { margin-top: 100px; } /* So we can see top-overflowed stuff */ |
|
24 div.flexbox { |
|
25 height: 30px; |
|
26 display: flex; |
|
27 flex-direction: column; |
|
28 margin-right: 4px; |
|
29 float: left; |
|
30 } |
|
31 div.a { |
|
32 width: 10px; |
|
33 flex: 0 0 35px; |
|
34 background: lightgreen; |
|
35 border-style: solid; |
|
36 border-color: purple; |
|
37 border-top-width: 4px; |
|
38 border-right-width: 3px; |
|
39 border-bottom-width: 2px; |
|
40 border-left-width: 1px; |
|
41 padding: 2px; |
|
42 } |
|
43 div.b { |
|
44 width: 10px; |
|
45 flex: 0 0 40px; |
|
46 background: pink; |
|
47 padding: 1px 2px 3px 4px; |
|
48 margin: 5px 4px 3px 2px; |
|
49 } |
|
50 div.c { |
|
51 width: 10px; |
|
52 flex: 0 0 45px; |
|
53 background: orange; |
|
54 margin: 3px; |
|
55 border: 2px dashed teal; |
|
56 } |
|
57 </style> |
|
58 </head> |
|
59 <body> |
|
60 |
|
61 <!-- default (start) --> |
|
62 <div class="flexbox"> |
|
63 <div class="a"/> |
|
64 </div> |
|
65 <div class="flexbox"> |
|
66 <div class="a"/><div class="b"></div> |
|
67 </div> |
|
68 <div class="flexbox"> |
|
69 <div class="a"/><div class="b"/><div class="c"/> |
|
70 </div> |
|
71 |
|
72 <!-- flex-start --> |
|
73 <div class="flexbox" style="justify-content: flex-start"> |
|
74 <div class="a"/> |
|
75 </div> |
|
76 <div class="flexbox" style="justify-content: flex-start"> |
|
77 <div class="a"/><div class="b"/> |
|
78 </div> |
|
79 <div class="flexbox" style="justify-content: flex-start"> |
|
80 <div class="a"/><div class="b"/><div class="c"/> |
|
81 </div> |
|
82 |
|
83 <!-- flex-end --> |
|
84 <div class="flexbox" style="justify-content: flex-end"> |
|
85 <div class="a"/> |
|
86 </div> |
|
87 <div class="flexbox" style="justify-content: flex-end"> |
|
88 <div class="a"/><div class="b"/> |
|
89 </div> |
|
90 <div class="flexbox" style="justify-content: flex-end"> |
|
91 <div class="a"/><div class="b"/><div class="c"/> |
|
92 </div> |
|
93 |
|
94 <!-- center --> |
|
95 <div class="flexbox" style="justify-content: center"> |
|
96 <div class="a"/> |
|
97 </div> |
|
98 <div class="flexbox" style="justify-content: center"> |
|
99 <div class="a"/><div class="b"/> |
|
100 </div> |
|
101 <div class="flexbox" style="justify-content: center"> |
|
102 <div class="a"/><div class="b"/><div class="c"/> |
|
103 </div> |
|
104 |
|
105 <!-- space-between --> |
|
106 <div class="flexbox" style="justify-content: space-between"> |
|
107 <div class="a"/> |
|
108 </div> |
|
109 <div class="flexbox" style="justify-content: space-between"> |
|
110 <div class="a"/><div class="b"/> |
|
111 </div> |
|
112 <div class="flexbox" style="justify-content: space-between"> |
|
113 <div class="a"/><div class="b"/><div class="c"/> |
|
114 </div> |
|
115 |
|
116 <!-- space-around --> |
|
117 <div class="flexbox" style="justify-content: space-around"> |
|
118 <div class="a"/> |
|
119 </div> |
|
120 <div class="flexbox" style="justify-content: space-around"> |
|
121 <div class="a"/><div class="b"/> |
|
122 </div> |
|
123 <div class="flexbox" style="justify-content: space-around"> |
|
124 <div class="a"/><div class="b"/><div class="c"/> |
|
125 </div> |
|
126 |
|
127 </body> |
|
128 </html> |