summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001.html
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001.html')
-rw-r--r--testing/web-platform/tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001.html358
1 files changed, 358 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001.html b/testing/web-platform/tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001.html
new file mode 100644
index 0000000000..14ac0c9c39
--- /dev/null
+++ b/testing/web-platform/tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001.html
@@ -0,0 +1,358 @@
+<!DOCTYPE html>
+<html lang=en>
+<meta charset="utf-8">
+<title>CSS Grid Layout Test: grid-template-rows fit-content()</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/css-grid-1/#track-sizing">
+<link rel="match" href="grid-template-rows-fit-content-001-ref.html">
+<meta name="assert" content="This test checks that 'fit-content()' works as expected in grid-template-rows, i.e., it's similar to 'auto' ('minmax(auto, max-content)') except that the growth limit is clamped at the argument of 'fit-content' (if greater than the 'auto' minimum).">
+<meta name="flags" content="ahem">
+<link rel="stylesheet" href="/css/support/grid.css">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+.grid {
+ justify-content: start;
+ align-content: start;
+ height: 100px;
+ width: 40px;
+ position: relative;
+ padding-left: 10px;
+ margin-right: 5px;
+ grid-row-gap: 5px;
+ float: left;
+}
+
+.fc0 { grid-template-rows: fit-content(0px);}
+.fc40 { grid-template-rows: fit-content(40px); }
+.fc80 { grid-template-rows: fit-content(80px); }
+.fc110 { grid-template-rows: fit-content(110px); }
+
+.fc0x2 { grid-template-rows: repeat(2, fit-content(0px));}
+.fc40x2 { grid-template-rows: repeat(2, fit-content(40px)); }
+.fc80x2 { grid-template-rows: repeat(2, fit-content(80px)); }
+.fc110x2 { grid-template-rows: repeat(2, fit-content(110px)); }
+
+.fc0p { grid-template-rows: fit-content(0%); }
+.fc30p { grid-template-rows: fit-content(30%); }
+.fc90p { grid-template-rows: fit-content(90%); }
+.fc110p { grid-template-rows: fit-content(110%); }
+
+.fc0px2 { grid-template-rows: repeat(2, fit-content(0%)); }
+.fc30px2 { grid-template-rows: repeat(2, fit-content(30%)); }
+.fc90px2 { grid-template-rows: repeat(2, fit-content(90%)); }
+.fc110px2 { grid-template-rows: repeat(2, fit-content(110%)); }
+
+div.grid > div { writing-mode: vertical-lr; }
+
+.item {
+ font: 10px/1 Ahem;
+ background: cyan;
+ padding-left: 2px;
+}
+
+.spanningItem {
+ font: 10px/1 Ahem;
+ grid-row: 1 / -1;
+ grid-column: 2;
+ background: salmon;
+ padding-left: 2px;
+}
+
+.test {
+ position: absolute;
+ left: 0; bottom: 0; top: 0;
+ width: 5px;
+ background: purple;
+}
+.test:nth-child(2n) { background: orange; }
+
+.firstRow { grid-row: 1 / 2; }
+.secondRow { grid-row: 2 / 3; }
+.thirdRow { grid-row: 3 / 4; }
+
+h3 { font-size: 1em; }
+.container { float: left; height: 110px;}
+
+</style>
+
+<p>The test passes if it has the same output than the reference.</p>
+
+<div class="grid fc0">
+ <div class="item">XXX</div>
+ <div class="test firstRow"></div>
+</div>
+
+<div class="grid fc0x2">
+ <div class="item">XXX</div>
+ <div class="spanningItem">XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid fc40">
+ <div class="item">XXX XXX</div>
+ <div class="test firstRow"></div>
+</div>
+
+<div class="grid fc40x2">
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid fc40x2">
+ <div class="item">XXX XXX</div>
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid fc80">
+ <div class="item">XXX XXX XXX</div>
+ <div class="test firstRow"></div>
+</div>
+
+<div class="grid fc80x2">
+ <div class="spanningItem">XXX XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid fc80x2">
+ <div class="item secondRow">XXX XXX XXX</div>
+ <div class="spanningItem">XXX XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: fit-content(20px) 50%;">
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: minmax(10px, 40px) fit-content(40px);">
+ <div class="item">XXXXX</div>
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: fit-content(40px) minmax(10%, 200px);">
+ <div class="item secondRow">XXXXX</div>
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+</div>
+
+<br clear ="all">
+<br clear ="all">
+
+<div class="grid" style="grid-template-rows: fit-content(40px) max-content;">
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: fit-content(40px) max-content;">
+ <div class="item">XXXXX</div>
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: fit-content(40px) max-content;">
+ <div class="item secondRow">XXXXX</div>
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: min-content fit-content(40px);">
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: min-content fit-content(40px);">
+ <div class="item">XXXXX</div>
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: min-content fit-content(40px);">
+ <div class="item secondRow">XXXXX</div>
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: fit-content(30px) min-content max-content">
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+ <div class="test thirdRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: min-content fit-content(30px) max-content">
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+ <div class="test thirdRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: min-content max-content fit-content(30px)">
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+ <div class="test thirdRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: fit-content(30px) min-content max-content">
+ <div class="item" style="grid-row: 1">XXX XX</div>
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+ <div class="test thirdRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: min-content fit-content(30px) max-content">
+ <div class="item" style="grid-row: 1">XXX XX</div>
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+ <div class="test thirdRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: min-content max-content fit-content(30px)">
+ <div class="item" style="grid-row: 2">XXX XX</div>
+ <div class="spanningItem">XXX XX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+ <div class="test thirdRow"></div>
+</div>
+
+<br clear="all">
+<br clear="all">
+
+<div class="grid fc0p">
+ <div class="item">XXX</div>
+ <div class="test firstRow"></div>
+</div>
+
+<div class="grid fc0px2">
+ <div class="item">XXX</div>
+ <div class="spanningItem">XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid fc30p">
+ <div class="item">XX XX</div>
+ <div class="test firstRow"></div>
+</div>
+
+<div class="grid fc30px2">
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid fc30px2">
+ <div class="item secondRow">X X X</div>
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid fc90p">
+ <div class="item">XXX XXX XXX</div>
+ <div class="test firstRow"></div>
+</div>
+
+<div class="grid fc90px2">
+ <div class="spanningItem">XXX XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid fc90px2">
+ <div class="item secondRow">XXX XXX XXX</div>
+ <div class="spanningItem">XXX XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<br clear="all">
+<br clear="all">
+
+<div class="grid fc110">
+ <div class="item">XXX XXX</div>
+ <div class="test firstRow"></div>
+</div>
+
+<div class="grid fc110x2">
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid fc110x2">
+ <div class="item">XXX XXX</div>
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: fit-content(110px) fit-content(40px);">
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: fit-content(110px) fit-content(40px);">
+ <div class="item secondRow">XX</div>
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: max-content fit-content(110px);">
+ <div class="spanningItem" style="grid-column: 1;">XX XX XX XX</div>
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: fit-content(110px) min-content;">
+ <div class="spanningItem" style="grid-column: 1;">XX XX XX XX</div>
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: max-content fit-content(110px) max-content;">
+ <div class="spanningItem" style="grid-column: 1;">XX XX XX XX</div>
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+ <div class="test thirdRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: min-content fit-content(110px) min-content;">
+ <div class="spanningItem" style="grid-column: 1;">XX XX XX XX</div>
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+ <div class="test thirdRow"></div>
+</div>
+
+<div class="grid" style="grid-template-rows: auto fit-content(110px) auto;">
+ <div class="spanningItem" style="grid-column: 1;">XX XX XX XX</div>
+ <div class="spanningItem">XXX XXX</div>
+ <div class="test firstRow"></div>
+ <div class="test secondRow"></div>
+ <div class="test thirdRow"></div>
+</div>