<!DOCTYPE HTML> <!-- Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> <html><head> <meta charset="utf-8"> <title>CSS Grid Test: Grid container baselines, nested grids</title> <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1151204"> <link rel="help" href="https://drafts.csswg.org/css-grid/#grid-baselines"> <link rel="match" href="grid-container-baselines-003-ref.html"> <link rel="stylesheet" type="text/css" href="support/ahem.css"> <style type="text/css"> html,body { color:black; background-color:white; font:16px/1 Ahem; padding:0; margin:0; } .igrid { display: inline-grid; } .grid { display: grid; } .grid, .igrid { grid: 13px repeat(3,50px) / 60px 60px; border: 1px solid; margin: 1px; } .grid.sfb , .igrid.sfb { grid: repeat(3,50px) 13px / 60px 60px; } /* don't clamp grid item automatic minimum size */ .igrid *, .grid * { min-width: 0; min-height: 0; } .a { border: 3px solid black; background:lime; } span:nth-of-type(1) { font-size:32px; } span:nth-of-type(2) { font-size:36px; } span:nth-of-type(3) { font-size:48px; } span:nth-of-type(4) { font-size:24px; } span.i { font-size:12px; grid-column:2; } .sfb { align-self:baseline; } .slb { align-self:last baseline; align-content:self-end; } .jfb { justify-self:baseline; justify-content:self-end; } .jlb { justify-self:last baseline; justify-content:self-end; } .hl { writing-mode: horizontal-tb; direction:ltr; } .hr { writing-mode: horizontal-tb; direction:rtl; } .vl { writing-mode: vertical-lr; text-orientation: sideways; } .vr { writing-mode: vertical-rl; text-orientation: sideways; } .vlr { writing-mode: vertical-lr; direction:rtl; text-orientation: sideways; } .vrl { writing-mode: vertical-rl; direction:ltr; text-orientation: sideways; } </style> </head> <body> <!-- TODO: figure out a way to make a reference for these: A<div class="igrid"> <div class="igrid slb" style="grid: 7px 13px 100px / 36px; grid-row: span 4;"> <n></n> <n></n> <span class="slb a" style="grid-row:3; margin-bottom:7px; padding-bottom:5px;">A<br>B</span> </div> <n></n> <span class="slb i a" style="grid-row:4">C<br>D</span> </div> <div class="igrid" style="grid-template-columns:60px 60px 60px"> <div class="igrid slb" style="grid: 7px 13px 100px / 36px; grid-row: span 4;"> <n></n> <span class="slb a" style="grid-row:3; margin-bottom:7px; padding-bottom:5px;">A<br>B</span> </div> <n></n> <span class="slb i a" style="grid-row:4">C<br>D</span> <span class="slb a" style="grid-row:4; grid-column:3; padding-bottom:20px">E<br>F</span> </div> <div class="igrid" style="grid-template-columns:60px 60px 60px"> <div class="igrid slb" style="grid: 7px 13px 100px / 36px; grid-row: span 4;"> <n></n> <n></n> <span class="a" style="grid-row:3; margin-bottom:7px; padding-bottom:5px;">A<br>B</span> </div> <span class="slb i a" style="grid-row:4">C<br>D</span> <span class="slb a " style="grid-row:4; grid-column:3; padding-bottom:20px">E<br>F</span> </div> <div class="igrid" style="grid-template-columns:80px 60px 60px"> <div class="igrid slb" style="grid: 7px 13px 100px / 36px 36px; grid-row: span 4;"> <span class="a" style="grid-row:3; margin-bottom:7px; padding-bottom:5px;">A<br>B</span> <span class="a" style="grid-row:3; ">A<br>B</span> </div> <n></n> <span class="slb i a" style="grid-row:4">C<br>D</span> <span class="slb a " style="grid-row:4; grid-column:3; padding-bottom:20px">E<br>F</span> </div> <br> --> A<div class="igrid sfb"> <div class="igrid sfb" style="grid: 100px 7px 13px / 36px; grid-row: span 4;"> <span class="sfb a" style="margin-bottom:7px; padding-bottom:5px;">A<br>B</span> <n></n> <n></n> </div> <span class="sfb i a" style="grid-row:1">C<br>D</span> <n></n> </div> <div class="igrid sfb" style="grid-template-columns:60px 60px 60px"> <div class="igrid sfb" style="grid: 100px 7px 13px / 36px; grid-row: span 4;"> <span class="sfb a" style="margin-top:7px; padding-top:5px;">A<br>B</span> <n></n> </div> <span class="sfb i a" style="grid-row:1">C<br>D</span> <span class="sfb a" style="grid-row:1; grid-column:3; padding-top:20px">E<br>F</span> <n></n> </div> <div class="igrid sfb" style="grid-template-columns:60px 60px 60px"> <div class="igrid sfb" style="grid: 100px 7px 13px / 36px; grid-row: span 4;"> <span class="a" style="margin-top:7px; padding-top:5px;">A<br>B</span> <n></n> <n></n> </div> <span class="sfb i a" style="grid-row:1">C<br>D</span> <span class="sfb a " style="grid-row:1; grid-column:3; padding-top:20px">E<br>F</span> </div> <div class="igrid sfb" style="grid-template-columns:80px 60px 60px"> <div class="igrid sfb" style="grid: 100px 7px 13px / 36px 36px; grid-row: span 4;"> <span class="a" style="margin-top:7px; padding-top:5px;">A<br>B</span> <span class="a" style="">A<br>B</span> </div> <span class="sfb i a" style="grid-row:1">C<br>D</span> <span class="sfb a " style="grid-row:1; grid-column:3; padding-top:20px">E<br>F</span> <n></n> </div> <br> <!-- TODO: impossible to make a reference due to bug 1166120 A<div class="igrid" style="grid: auto / 100px;"> <span class="jfb a vlr" style="margin:1px 3px 5px 7px">A<br>B</span> </div> <div class="igrid" style="grid: auto / 100px;"> <span class="jlb a vlr" style="margin:1px 3px 5px 7px">A<br>B</span> </div> <div class="igrid slb" style="grid: auto / 100px;"> <span class="jlb a vlr" style="margin:1px 3px 5px 7px">A<br>B</span> </div> <div class="igrid vl" style="grid: 100px / 50px;"> <span class="jlb a" style="margin:1px 3px 5px 7px">A<br>B</span> </div> <div class="igrid slb vl" style="grid: 100px / 50px;"> <span class="jfb a" style="margin:1px 3px 5px 7px">A<br>B</span> </div> <div class="igrid sfb vl" style="grid: 100px / 50px;"> <span class="jfb a" style="margin:1px 3px 5px 7px">A<br>B</span> </div> --> <!-- TODO: figure out a way to make a reference for these: A<div class="igrid" style="grid-template-columns:200px"> <div class="igrid slb vl" style="grid: 1fr / 7px 13px 50px; grid-row: span 4;"> <n></n> <n></n> <span class="slb a" style="margin-block-end:27px; padding-block-end:15px;">A<br>B</span> </div> </div><div class="igrid" style="grid-template-columns:200px"> <div class="igrid slb vl" style="grid: 1fr / 7px 13px 50px; grid-row: span 4;"> <n></n> <n></n> <span class="a" style="margin-block-end:27px; padding-block-end:15px;">A<br>B</span> </div> </div><div class="igrid" style="grid-template-columns:200px"> <div class="igrid slb vl" style="grid: 1fr / 7px 13px 50px; grid-row: span 4;"> <n></n> <n></n> <span class="jlb a" style="margin-block-end:27px; padding-block-end:15px;">A<br>B</span> </div> </div> --> A<div class="igrid" style="grid-template-columns:200px"> <div class="igrid sfb vl" style="grid: 1fr / 7px 13px 50px; grid-row: span 4;"> <span class="sfb a" style="margin-block-end:27px; padding-block-end:15px;">A<br>B</span> <n></n> <n></n> </div> </div><div class="igrid" style="grid-template-columns:200px"> <div class="igrid sfb vl" style="grid: 1fr / 7px 13px 50px; grid-row: span 4;"> <span class="a" style="margin-block-end:27px; padding-block-end:15px;">A<br>B</span> <n></n> <n></n> </div> </div><div class="igrid" style="grid-template-columns:200px"> <div class="igrid sfb vl" style="grid: 1fr / 7px 13px 50px; grid-row: span 4;"> <span class="jfb a" style="margin-block-end:27px; padding-block-end:15px;">A<br>B</span> <n></n> <n></n> </div> </div> <br> A<div class="igrid slb"> <div class="igrid slb" style="grid: 7px 13px 100px / 36px 3px; grid-row: span 4;"> <n></n><n></n> <n></n><n></n> <span class="slb a" style="margin-bottom:7px; padding-bottom:5px;">A<br>B</span><n></n> </div> <span class="slb i a" style="grid-row:4">C<br>D</span> <n></n> </div> </body> </html>