| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Any copyright is dedicated to the Public Domain. |
| http://creativecommons.org/publicdomain/zero/1.0/ |
| --> |
| <!-- Reference case for flex items containing overlapping content. |
| This reference uses inline-block in place of inline-flex, with floated |
| children in place of flex items, and with hardcoded DOM-reordering in |
| place of "order" reordering. --> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <title>CSS Reftest Reference</title> |
| <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/> |
| <style> |
| body { |
| line-height: 0; |
| } |
| |
| .flexbox { |
| display: inline-block; |
| width: 20px; |
| height: 10px; |
| border: 2px solid gray; |
| margin-bottom: 10px; |
| margin-right: 10px; |
| } |
| .a { |
| width: 10px; |
| height: 10px; |
| background: lightblue; |
| float: left; /* to stack horizontally, like a flex item */ |
| } |
| .b { |
| width: 10px; |
| height: 10px; |
| background: pink; |
| float: left; /* to stack horizontally, like a flex item */ |
| } |
| .aKid { |
| margin-left: 3px; |
| margin-top: 3px; |
| width: 10px; |
| height: 10px; |
| background: steelblue; |
| border: 1px solid blue; |
| } |
| .bKid { |
| margin-left: 3px; |
| margin-top: 6px; |
| width: 10px; |
| height: 10px; |
| background: violet; |
| border: 1px solid purple; |
| } |
| |
| /* Need to set 'position' for z-index to take effect. */ |
| .zn2 { z-index: -2; position: relative; } |
| .zn1 { z-index: -1; position: relative; } |
| .z0 { z-index: 0; position: relative; } |
| .z1 { z-index: 1; position: relative; } |
| |
| </style> |
| </head> |
| <body> |
| <!-- order not set: --> |
| <div class="flexbox"> |
| <div class="a"><div class="aKid"/></div> |
| <div class="b"><div class="bKid"/></div> |
| </div> |
| |
| <br/> |
| |
| <!-- order set, but it matches content order, so it shouldn't matter: --> |
| <div class="flexbox"> |
| <div class="a"><div class="aKid"/></div> |
| <div class="b"><div class="bKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="a"><div class="aKid"/></div> |
| <div class="b"><div class="bKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="a"><div class="aKid"/></div> |
| <div class="b"><div class="bKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="a"><div class="aKid"/></div> |
| <div class="b"><div class="bKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="a"><div class="aKid"/></div> |
| <div class="b"><div class="bKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="a"><div class="aKid"/></div> |
| <div class="b"><div class="bKid"/></div> |
| </div> |
| |
| <br/> |
| |
| <!-- order set to reverse of content-order: --> |
| <div class="flexbox"> |
| <div class="b"><div class="bKid"/></div> |
| <div class="a"><div class="aKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="b"><div class="bKid"/></div> |
| <div class="a"><div class="aKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="b"><div class="bKid"/></div> |
| <div class="a"><div class="aKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="b"><div class="bKid"/></div> |
| <div class="a"><div class="aKid"/></div> |
| </div> |
| |
| <br/> |
| |
| <!-- order set to reverse of content-order, AND with z-index set on |
| one or both items, but not such that it changes the paint order --> |
| <div class="flexbox"> |
| <div class="b"><div class="bKid"/></div> |
| <div class="a"><div class="aKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="b"><div class="bKid"/></div> |
| <div class="a"><div class="aKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="b"><div class="bKid"/></div> |
| <div class="a"><div class="aKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <div class="b"><div class="bKid"/></div> |
| <div class="a"><div class="aKid"/></div> |
| </div> |
| |
| <br/> |
| |
| <!-- order set to reverse of content-order, AND with z-index set on |
| one or both items, in such a way that it affects paint order --> |
| <div class="flexbox"> |
| <!-- 'a' is behind the container's border --> |
| <div class="b"><div class="bKid"/></div> |
| <div class="a zn1"><div class="aKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <!-- 'a' and 'b' are both behind the container's border --> |
| <div class="b zn1"><div class="bKid"/></div> |
| <div class="a zn1"><div class="aKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <!-- 'a' and 'b' are both behind the container's border, |
| and 'a' is behind 'b' despite coming after it in the 'order' |
| ordering--> |
| <div class="b zn1"><div class="bKid"/></div> |
| <div class="a zn2"><div class="aKid"/></div> |
| </div |
| ><div class="flexbox"> |
| <!-- 'a' and 'b' are both in front of the container's border, |
| and 'a' is behind 'b' despite coming after it in the 'order' |
| ordering--> |
| <div class="b z1"><div class="bKid"/></div> |
| <div class="a z0"><div class="aKid"/></div> |
| </div> |
| |
| </body> |
| </html> |