summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-flexbox/flexbox-items-as-stacking-contexts-003.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-flexbox/flexbox-items-as-stacking-contexts-003.html')
-rw-r--r--testing/web-platform/tests/css/css-flexbox/flexbox-items-as-stacking-contexts-003.html80
1 files changed, 80 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-flexbox/flexbox-items-as-stacking-contexts-003.html b/testing/web-platform/tests/css/css-flexbox/flexbox-items-as-stacking-contexts-003.html
new file mode 100644
index 0000000000..5f0fd8ba35
--- /dev/null
+++ b/testing/web-platform/tests/css/css-flexbox/flexbox-items-as-stacking-contexts-003.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<!-- This testcase checks that flex items are painted as pseudo-stacking
+ contexts, instead of full stacking contexts. In other words, content
+ inside of one flex item should be able to iterleave between pieces of
+ content in another flex item, if we set appropriately interleaving
+ "z-index" values. -->
+<!-- This was resolved by the CSSWG in April 2013:
+ http://krijnhoetmer.nl/irc-logs/css/20130403#l-455 -->
+<html>
+<head>
+ <title>CSS Test: Testing that flex items paint as pseudo-stacking contexts (like inline-blocks), instead of full stacking contexts: 'z-index' should let descendants interleave</title>
+ <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
+ <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#painting">
+ <link rel="match" href="flexbox-items-as-stacking-contexts-003-ref.html">
+ <style>
+ .flexContainer {
+ background: orange;
+ display: flex;
+ justify-content: space-between;
+ width: 70px;
+ height: 20px;
+ padding: 2px;
+ margin-bottom: 2px;
+ }
+ .item1 {
+ background: lightblue;
+ width: 30px;
+ min-width: 0; /* disable default min-width:auto behavior */
+ padding: 2px;
+ }
+ .item2 {
+ background: yellow;
+ width: 30px;
+ padding: 2px;
+ }
+ .grandchildA {
+ background: purple;
+ width: 80px;
+ height: 6px;
+ position: relative;
+ z-index: 10;
+ }
+ .grandchildB {
+ background: teal;
+ width: 80px;
+ height: 6px;
+ position: relative;
+ z-index: 20;
+ }
+ .grandchildC {
+ background: lime;
+ width: 20px;
+ height: 16px;
+ position: relative;
+ /* This z-index should interleave this content
+ between grandchildA and grandchildB: */
+ z-index: 15;
+ }
+ </style>
+</head>
+<body>
+ <!-- This flex container's first flex item has content that overflows
+ and overlap the second flex item. The z-index values are set such
+ that this content should interleave; grandchildC should
+ paint on top of grandchildA, but underneath grandchildB. -->
+ <div class="flexContainer"
+ ><div class="item1"
+ ><div class="grandchildA"></div
+ ><div class="grandchildB"></div
+ ></div
+ ><div class="item2"
+ ><div class="grandchildC"></div
+ ></div
+ ></div>
+</body>
+</html>