<!DOCTYPE HTML> <!-- Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> <html><head> <meta charset="utf-8"> <title>CSS Test: Testing layout and painting of abs.pos. grid items with 'order'</title> <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1107786"> <link rel="help" href="http://dev.w3.org/csswg/css-grid/#abspos-items"> <link rel="help" href="http://dev.w3.org/csswg/css-flexbox-1/#order-property"> <link rel="match" href="grid-order-abspos-items-001-ref.html"> <style type="text/css"> body,html { color:black; background:white; font-size:16px; padding:0; margin:0; } .grid { display: grid; position: relative; grid-template-columns: 20px 20px 20px 20px; grid-auto-flow: row; grid-auto-columns: 23px; grid-auto-rows: 17px; padding: 17px 7px 11px 13px; width: 100px; height: 25px; } .a { order:4; grid-column-start:4; background:lime; } .b { order:3; grid-column-start:3; background:pink; } .c { order:2; grid-column-start:2; background:yellow; } .d { order:1; grid-column-start:1; background:silver; } .e { order:1; grid-column-start:1; background:red; } .abs { position: absolute; top:3px; left:1px; right:5px; bottom:1px; } span { background: lime; border: 1px solid; } .z-1 { z-index:-1; } .z1 { z-index:1; } .z2 { z-index:2; } .z3 { z-index:3; } .z4 { z-index:4; } x { background:black; order:99; float:right; } f { float:left; } .f2 { background:white; } .f2 span { opacity: 0.5; } .f2 span.e { z-index:-1; } </style> </head> <body> <f> <div class="grid"> <span class="abs a">a</span> <span class="abs b">b</span> <span class="abs c">c</span> <span class="abs e">FAIL<x>x</x></span> <span class="abs d">d<x>x</x></span> </div> <div class="grid"> <div style="order:2"> <span class="abs a">a</span> <span class="abs b">b</span> </div> <div style="order:1"> <span class="abs c">c</span> <span class="abs e">FAIL<x>x</x></span> <span class="abs d">d<x>x</x></span> </div> </div> <div class="grid"> <div style="display:grid; order:2"> <div style="order:2"> <span class="abs a">a</span> </div> <div style="order:1"> <span class="abs c">c</span> </div> </div> <div style="display:grid; order:1"> <div style="order:2"> <span class="abs b">b</span> </div> <div style="order:1"> <span class="abs e">FAIL<x>x</x></span> <span class="abs d">d<x>x</x></span> </div> </div> </div> <div class="grid"> <span class="abs a">a</span> <span class="abs z1 b">b</span> <span class="abs z2 c">c</span> <span class="abs e">FAIL<x>x</x></span> <span class="abs d">d<x>x</x></span> </div> <div class="grid"> <div style="order:2"> <span class="abs a">a</span> <span class="abs z1 b">b</span> </div> <div style="order:1"> <span class="abs z1 c">c</span> <span class="abs e">FAIL<x>x</x></span> <span class="abs d">d<x>x</x></span> </div> </div> <div class="grid"> <div style="display:grid; order:2"> <div style="order:2"> <span class="abs a">a</span> </div> <div style="order:1"> <span class="abs z2 c">c</span> </div> </div> <div style="display:grid; order:1"> <div style="order:2"> <span class="abs z1 b">b</span> </div> <div style="order:1"> <span class="abs z-1 d">FAIL<x>x</x></span> <span class="abs z1 d">d<x>x</x></span> </div> </div> </div> </f> <script> var f = document.querySelector('f'); var f2 = f.cloneNode(true); f2.className = 'f2'; document.body.appendChild(f2); </script> </body> </html>