gecko/layout/reftests/flexbox/flexbox-items-as-stacking-contexts-3.html

74 lines
1.8 KiB
HTML

<!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. -->
<html>
<head>
<style>
.flexContainer {
background: orange;
display: flex;
justify-content: space-between;
width: 70px;
height: 20px;
padding: 2px;
margin-bottom: 2px;
}
.item1 {
background: lightblue;
width: 30px;
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>