Files
rust_browser/tests/external/wpt/fixtures/wpt-css-css-flexbox-flexbox-items-as-stacking-contexts-003-test.html
Zachary D. Rowitsch 16abbd78e7 Bulk-import 2899 WPT CSS reftests and add import tooling
Add scripts/import_wpt_reftests.py to sparse-clone the upstream WPT repo
and bulk-import qualifying CSS reftests (no JS, no external resources) as
known_fail entries. 23 tests already pass and are promoted. The import
script is idempotent and exposed via `just import-wpt`. CI now prints the
WPT summary (pass=36 known_fail=2877 skip=1) on every run.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 00:15:27 -05:00

81 lines
2.4 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. -->
<!-- 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>