| <?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> |