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/grid-lanes/subgrid/grid-subgridded-to-grid-lanes/baseline/row-grid-lanes-container-baseline-subgrid-001.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Grid Lanes Test: grid-lanes container first/last baseline with a subgrid</title>
<link rel="author" title="Yanling Wang" href="mailto:yanlingwang@microsoft.com">
<meta name="assert" content="A row-direction grid-lanes container derives its first/last baseline from the items of a subgridded (display:grid) child, so the outer flex aligns the reference text the same as an equivalent plain grid, even when the subgrid and its items have margin, border and padding.">
<link rel="match" href="row-grid-lanes-container-baseline-subgrid-001-ref.html">
<style>
.container {
display: flex;
gap: 20px;
border: 2px solid blue;
padding: 10px;
font: 16px/1 monospace;
width: 600px;
text-decoration: underline;
}
.first-baseline { align-items: first baseline; }
.last-baseline { align-items: last baseline; }
.grid-lanes {
display: grid-lanes;
grid-template-rows: repeat(2, 60px);
gap: 10px;
border: 1px solid red;
background: #f0f0f0;
}
.subgrid {
display: grid;
grid-template-rows: subgrid;
grid-row: 1 / -1;
grid-auto-flow: column;
column-gap: 10px;
margin-block-start: 15px;
border: 9px solid green;
padding: 6px;
}
.item {
background: lightblue;
border: 1px solid navy;
padding: 8px;
width: 80px;
box-sizing: border-box;
margin-block-start: 12px;
}
.item:nth-child(1) { font-size: 20px; }
.item:nth-child(2) { font-size: 16px; }
.item:nth-child(3) { font-size: 16px; }
.item:nth-child(4) { font-size: 22px; }
.text-reference {
background: yellow;
padding: 8px;
}
</style>
</head>
<body>
<div class="container first-baseline">
<div class="text-reference">Reference text</div>
<div class="grid-lanes">
<div class="subgrid">
<div class="item">A</div>
<div class="item">B</div>
<div class="item">C</div>
<div class="item">D</div>
</div>
</div>
<div class="text-reference">Reference text</div>
</div>
<div class="container last-baseline">
<div class="text-reference">Reference text</div>
<div class="grid-lanes">
<div class="subgrid">
<div class="item">A</div>
<div class="item">B</div>
<div class="item">C</div>
<div class="item">D</div>
</div>
</div>
<div class="text-reference">Reference text</div>
</div>
</body>
</html>