summaryrefslogtreecommitdiffstats
path: root/layout/reftests/css-grid/grid-order-abspos-items-001.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/reftests/css-grid/grid-order-abspos-items-001.html')
-rw-r--r--layout/reftests/css-grid/grid-order-abspos-items-001.html150
1 files changed, 150 insertions, 0 deletions
diff --git a/layout/reftests/css-grid/grid-order-abspos-items-001.html b/layout/reftests/css-grid/grid-order-abspos-items-001.html
new file mode 100644
index 0000000000..7d915e5098
--- /dev/null
+++ b/layout/reftests/css-grid/grid-order-abspos-items-001.html
@@ -0,0 +1,150 @@
+<!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>