Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /css/css-grid/subgrid/independent-formatting-context.html - WPT Dashboard Interop Dashboard
<!DOCTYPE HTML>
<!--
Any copyright is dedicated to the Public Domain.
-->
<html><head>
<meta charset="utf-8">
<title>Test: subgrid disabled if grid item establishes independent formatting context</title>
<link rel="match" href="independent-formatting-context-ref.html">
<style>
html,body {
font:16px/1 monospace; padding:0; margin:0; line-height: 0;
}
.grid {
position: relative;
display: inline-grid;
grid-template-rows: 0px 100px;
width: 100px;
margin-right: 20px;
}
.subgrid {
display: grid;
grid-template-rows: subgrid;
grid-row: 1 / 3;
width: 100px;
height: 100px;
background-color: red;
}
.first {
grid-row: 1;
background-color: green;
}
.second {
grid-row: 2;
background-color: green;
}
</style>
</head>
<body>
<!-- The subgrid's style attribute establishes an independent formatting context
and makes them no longer eligible as subgrids.-->
<div class="grid">
<div class="subgrid" style="position:absolute">
<div class="first"></div>
</div>
</div>
<div class="grid">
<div class="subgrid" style="contain: layout">
<div class="first"></div>
</div>
</div>
<div class="grid">
<div class="subgrid" style="contain: paint">
<div class="first"></div>
</div>
</div>
<div class="grid">
<div class="subgrid" style="contain: strict">
<div class="first"></div>
</div>
</div>
<div class="grid">
<div class="subgrid" style="contain: content">
<div class="first"></div>
</div>
</div>
<!-- Only layout and paint containment establish an independent formatting
context. These tests validate that other types of containment maintain
subgrid layout.-->
<div class="grid">
<div class="subgrid" style="contain: none">
<div class="second"></div>
</div>
</div>
<div class="grid">
<div class="subgrid" style="contain: size">
<div class="second"></div>
</div>
</div>
<div class="grid">
<div class="subgrid" style="contain: style">
<div class="second"></div>
</div>
</div>
</body>
</html>