diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing')
13 files changed, 876 insertions, 692 deletions
diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-001-ref.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-001-ref.html index 898bff16d8..1a9f65aaf6 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-001-ref.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-001-ref.html @@ -3,41 +3,38 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> <title>Reference: Masonry layout intrinsic sizing</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; - grid-template-columns: repeat(4,auto); - grid-auto-rows: 1em; + grid-auto-rows: auto; border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; } -.fr { +.auto grid { + grid-template-columns: repeat(4,auto); +} +.fr grid { grid-template-columns: 1fr 2fr 1fr 1fr; } -.mixed { +.mixed grid { grid-template-columns: 1fr 2fr min-content max-content; } - -item { - background-color: #444; - color: blue; -} </style> -</head> + <body> -<grid> +<section class="auto"> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -45,7 +42,7 @@ item { <item>5</item> </grid> -<grid style="grid-template-columns: 1ch repeat(3,auto)"> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item>1</item> <item>2</item> <item>3</item> @@ -58,7 +55,7 @@ item { <item>2</item> <item>3</item> <item>4</item> - <item style="width:2ch; grid-column:2">5</item> + <item style="width:2ch; grid-area:1/2">5</item> </grid> <grid> @@ -66,26 +63,28 @@ item { <item>2</item> <item>3</item> <item>4</item> - <item style="width:4ch; grid-column:2/span 2">5</item> + <item style="visibility: hidden">4</item> + <item style="width:4ch; grid-area:1/2/2/4">5</item> </grid> <grid> - <item>1</item> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="grid-area: 1/2/2/span 2">5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> </grid> - <grid> - <item>1</item> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:3ch; grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="width:3ch; grid-area:1/2/2/4">5</item> + <item style="width:5ch; grid-area:2/1/3/4">6</item> </grid> <grid> @@ -104,17 +103,20 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid style="grid-template-columns: repeat(4,1ch)"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:6ch; grid-column:span 3">5</item> + <item style="width:6ch; grid-area: 2/1/3/4">5</item> + <item style="width:6ch; grid-area: 2/2/3/5; visibility: hidden">5</item> </grid> +</section> <!-- ditto with 'fr' sizing --> -<grid class="fr"> +<section class="fr"> +<grid> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -122,7 +124,7 @@ item { <item>5</item> </grid> -<grid class="fr" style="grid-template-columns: 1ch 2fr 1fr 1fr"> +<grid> <item>1</item> <item>2</item> <item>3</item> @@ -130,42 +132,43 @@ item { <item style="width:2ch">5</item> </grid> -<grid class="fr"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:2ch; grid-column:2">5</item> + <item style="width:2ch; grid-area: 1/2">5</item> </grid> -<grid class="fr"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:4ch; grid-column:2/span 2">5</item> + <item style="width:4ch; grid-area: 1/2/2/4">5</item> </grid> -<grid class="fr"> - <item>1</item> +<grid> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="grid-area: 1/2/2/span 2">5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> </grid> - -<grid class="fr"> - <item>1</item> +<grid> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:3ch; grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="width:3ch; grid-area:1/2/2/4">5</item> + <item style="width:5ch; grid-area:2/1/3/4">6</item> </grid> -<grid class="fr"> +<grid> <item>1</item> <item>2</item> <item>3</item> @@ -173,7 +176,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid class="fr"> +<grid> <item>1</item> <item>2</item> <item>3</item> @@ -181,18 +184,20 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid class="fr" style="grid-template-columns: 1ch 2ch 1ch 1ch"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:6ch; grid-column:span 3">5</item> + <item style="width:6ch; grid-area: 2/1/3/4">5</item> + <item style="width:6ch; grid-area: 2/2/3/5; visibility: hidden">5</item> </grid> - +</section> <!-- ditto with mixed sizing --> -<grid class="mixed" style="grid-template-columns: 2ch 4ch 1ch 1ch"> +<section class="mixed"> +<grid style="grid-template-columns: 2ch 4ch 2ch 2ch"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -200,7 +205,7 @@ item { <item>5</item> </grid> -<grid class="mixed" style="grid-template-columns: 1ch 2ch 1ch 1ch"> +<grid style="grid-template-columns: 2ch 4ch 2ch 2ch"> <item>1</item> <item>2</item> <item>3</item> @@ -208,42 +213,44 @@ item { <item style="width:2ch">5</item> </grid> -<grid class="mixed"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:2ch; grid-column:2">5</item> + <item style="width:2ch; grid-area: 1/2">5</item> </grid> -<grid class="mixed"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:4ch; grid-column:2/span 2">5</item> + <item style="visibility: hidden">4</item> + <item style="width:4ch; grid-area: 1/2/2/4">5</item> </grid> -<grid class="mixed"> - <item>1</item> +<grid> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="grid-area: 1/2/2/span 2">5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> </grid> - -<grid class="mixed"> - <item>1</item> +<grid> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:3ch; grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="width:3ch; grid-area:1/2/2/4">5</item> + <item style="width:5ch; grid-area:2/1/3/4">6</item> </grid> -<grid class="mixed"> +<grid> <item>1</item> <item>2</item> <item>3</item> @@ -251,7 +258,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid class="mixed"> +<grid> <item>1</item> <item>2</item> <item>3</item> @@ -259,13 +266,13 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid class="mixed" style="grid-template-columns: 1ch 2ch 1ch 1ch"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:6ch; grid-column:span 3">5</item> + <item style="width:6ch; grid-area: 2/1/3/4">5</item> + <item style="width:6ch; grid-area: 2/2/3/5; visibility: hidden">5</item> </grid> +</section> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-001.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-001.html index 0f6cdb1495..cc0608eafe 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-001.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-001.html @@ -3,43 +3,40 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> - <title>CSS Grid Test: Masonry layout intrinsic sizing</title> + <title>CSS Grid Test: Masonry layout column sizing - intrinsic</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> - <link rel="help" href="https://drafts.csswg.org/css-grid-2"> + <link rel="help" href="https://drafts.csswg.org/css-grid-3/#track-sizing"> <link rel="match" href="masonry-intrinsic-sizing-001-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; - grid-template-columns: repeat(4,auto); grid-template-rows: masonry; border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; } -.fr { +.auto grid { + grid-template-columns: repeat(4,auto); +} +.fr grid { grid-template-columns: 1fr 2fr 1fr 1fr; } -.mixed { +.mixed grid { grid-template-columns: 1fr 2fr min-content max-content; } - -item { - background-color: #444; - color: blue; -} </style> -</head> + <body> -<grid> +<section class="auto"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -47,7 +44,7 @@ item { <item>5</item> </grid> -<grid> +<grid title="Wider 5th item 2ch"> <item>1</item> <item>2</item> <item>3</item> @@ -55,7 +52,7 @@ item { <item style="width:2ch">5</item> </grid> -<grid> +<grid title="Wider 5th item 2ch in col 2"> <item>1</item> <item>2</item> <item>3</item> @@ -63,7 +60,7 @@ item { <item style="width:2ch; grid-column:2">5</item> </grid> -<grid> +<grid title="Wider 5th item 4ch in col 2-3"> <item>1</item> <item>2</item> <item>3</item> @@ -71,7 +68,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5</item> </grid> -<grid> +<grid title="5th item in col 2-3, wider 6th item 5ch in col 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -80,8 +77,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> - -<grid> +<grid title="5th item 3ch in 2-3, 6th item 5ch in 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -90,7 +86,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid> +<grid title="5th item span 4"> <item>1</item> <item>2</item> <item>3</item> @@ -98,7 +94,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid> +<grid title="5th item 6ch span 4"> <item>1</item> <item>2</item> <item>3</item> @@ -106,17 +102,19 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid> +<grid title="5th item 6ch span 3"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5</item> </grid> +</section> <!-- ditto with 'fr' sizing --> -<grid class="fr"> +<section class="fr"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -124,7 +122,7 @@ item { <item>5</item> </grid> -<grid class="fr"> +<grid title="Wider 5th item 2ch"> <item>1</item> <item>2</item> <item>3</item> @@ -132,7 +130,7 @@ item { <item style="width:2ch">5</item> </grid> -<grid class="fr"> +<grid title="Wider 5th item 2ch in col 2"> <item>1</item> <item>2</item> <item>3</item> @@ -140,7 +138,7 @@ item { <item style="width:2ch; grid-column:2">5</item> </grid> -<grid class="fr"> +<grid title="Wider 5th item 4ch in col 2-3"> <item>1</item> <item>2</item> <item>3</item> @@ -148,7 +146,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5</item> </grid> -<grid class="fr"> +<grid title="5th item in col 2-3, wider 6th item 5ch in col 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -157,8 +155,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> - -<grid class="fr"> +<grid title="5th item 3ch in 2-3, 6th item 5ch in 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -167,7 +164,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="fr"> +<grid title="5th item span 4"> <item>1</item> <item>2</item> <item>3</item> @@ -175,7 +172,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid class="fr"> +<grid title="5th item 6ch span 4"> <item>1</item> <item>2</item> <item>3</item> @@ -183,18 +180,19 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid class="fr"> +<grid title="5th item 6ch span 3"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5</item> </grid> - +</section> <!-- ditto with mixed sizing --> -<grid class="mixed"> +<section class="mixed"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -202,7 +200,7 @@ item { <item>5</item> </grid> -<grid class="mixed"> +<grid title="Wider 5th item 2ch"> <item>1</item> <item>2</item> <item>3</item> @@ -210,7 +208,7 @@ item { <item style="width:2ch">5</item> </grid> -<grid class="mixed"> +<grid title="Wider 5th item 2ch in col 2"> <item>1</item> <item>2</item> <item>3</item> @@ -218,7 +216,7 @@ item { <item style="width:2ch; grid-column:2">5</item> </grid> -<grid class="mixed"> +<grid title="Wider 5th item 4ch in col 2-3"> <item>1</item> <item>2</item> <item>3</item> @@ -226,7 +224,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5</item> </grid> -<grid class="mixed"> +<grid title="5th item in col 2-3, wider 6th item 5ch in col 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -236,7 +234,7 @@ item { </grid> -<grid class="mixed"> +<grid title="5th item 3ch in 2-3, 6th item 5ch in 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -245,7 +243,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="mixed"> +<grid title="5th item span 4"> <item>1</item> <item>2</item> <item>3</item> @@ -253,7 +251,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid class="mixed"> +<grid title="5th item 6ch span 4"> <item>1</item> <item>2</item> <item>3</item> @@ -261,13 +259,12 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid class="mixed"> +<grid title="5th item 6ch span 3"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5</item> </grid> +</section> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-002-ref.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-002-ref.html index 4f6519db94..ddae8e7fe3 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-002-ref.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-002-ref.html @@ -3,42 +3,39 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> <title>Reference: Masonry layout intrinsic sizing</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; - grid-template-columns: repeat(4,auto); grid-auto-rows: 1em; border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; width: min-content; } -.fr { +.auto grid { + grid-template-columns: repeat(4,auto); +} +.fr grid { grid-template-columns: 1fr 2fr 1fr 1fr; } -.mixed { +.mixed grid { grid-template-columns: 1fr 2fr min-content max-content; } - -item { - background-color: #444; - color: blue; -} </style> -</head> + <body> -<grid> +<section class="auto"> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -46,7 +43,7 @@ item { <item>5</item> </grid> -<grid style="grid-template-columns: 1ch repeat(3,auto)"> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item>1</item> <item>2</item> <item>3</item> @@ -59,7 +56,7 @@ item { <item>2</item> <item>3</item> <item>4</item> - <item style="width:2ch; grid-column:2">5</item> + <item style="width:2ch; grid-area:1/2">5</item> </grid> <grid> @@ -67,26 +64,28 @@ item { <item>2</item> <item>3</item> <item>4</item> - <item style="width:4ch; grid-column:2/span 2">5</item> + <item style="visibility: hidden">4</item> + <item style="width:4ch; grid-area:1/2/2/4">5</item> </grid> <grid> - <item>1</item> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="grid-area: 1/2/2/span 2">5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> </grid> - <grid> - <item>1</item> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:3ch; grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="width:3ch; grid-area:1/2/2/4">5</item> + <item style="width:5ch; grid-area:2/1/3/4">6</item> </grid> <grid> @@ -105,17 +104,20 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid style="grid-template-columns: repeat(4,1ch)"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:6ch; grid-column:span 3">5</item> + <item style="width:6ch; grid-area: 2/1/3/4">5</item> + <item style="width:6ch; grid-area: 2/2/3/5; visibility: hidden">5</item> </grid> +</section> <!-- ditto with 'fr' sizing --> -<grid class="fr"> +<section class="fr"> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -123,7 +125,7 @@ item { <item>5</item> </grid> -<grid class="fr" style="grid-template-columns: 1ch 2fr 1fr 1fr"> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item>1</item> <item>2</item> <item>3</item> @@ -131,42 +133,43 @@ item { <item style="width:2ch">5</item> </grid> -<grid class="fr"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:2ch; grid-column:2">5</item> + <item style="width:2ch; grid-area: 1/2">5</item> </grid> -<grid class="fr"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:4ch; grid-column:2/span 2">5</item> + <item style="width:4ch; grid-area: 1/2/2/4">5</item> </grid> -<grid class="fr"> - <item>1</item> +<grid> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="grid-area: 1/2/2/span 2">5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> </grid> - -<grid class="fr"> - <item>1</item> +<grid> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:3ch; grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="width:3ch; grid-area:1/2/2/4">5</item> + <item style="width:5ch; grid-area:2/1/3/4">6</item> </grid> -<grid class="fr"> +<grid> <item>1</item> <item>2</item> <item>3</item> @@ -174,7 +177,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid class="fr"> +<grid> <item>1</item> <item>2</item> <item>3</item> @@ -182,18 +185,20 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid class="fr" style="grid-template-columns: 1ch 1ch 1ch 1ch"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:6ch; grid-column:span 3">5</item> + <item style="width:6ch; grid-area: 2/1/3/4">5</item> + <item style="width:6ch; grid-area: 2/2/3/5; visibility: hidden">5</item> </grid> - +</section> <!-- ditto with mixed sizing --> -<grid class="mixed" style="grid-template-columns: 2ch 1ch 1ch 1ch"> +<section class="mixed"> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -201,7 +206,7 @@ item { <item>5</item> </grid> -<grid class="mixed" style="grid-template-columns: 1ch 1ch 1ch 1ch"> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item>1</item> <item>2</item> <item>3</item> @@ -209,42 +214,44 @@ item { <item style="width:2ch">5</item> </grid> -<grid class="mixed"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:2ch; grid-column:2">5</item> + <item style="width:2ch; grid-area: 1/2">5</item> </grid> -<grid class="mixed"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:4ch; grid-column:2/span 2">5</item> + <item style="visibility: hidden">4</item> + <item style="width:4ch; grid-area: 1/2/2/4">5</item> </grid> -<grid class="mixed"> - <item>1</item> +<grid> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="grid-area: 1/2/2/span 2">5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> </grid> - -<grid class="mixed"> - <item>1</item> +<grid> + <item style="grid-column: 4">1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:3ch; grid-column:2/span 2">5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item style="visibility: hidden">4</item> + <item style="width:3ch; grid-area:1/2/2/4">5</item> + <item style="width:5ch; grid-area:2/1/3/4">6</item> </grid> -<grid class="mixed"> +<grid> <item>1</item> <item>2</item> <item>3</item> @@ -252,7 +259,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid class="mixed"> +<grid> <item>1</item> <item>2</item> <item>3</item> @@ -260,13 +267,14 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid class="mixed" style="grid-template-columns: 1ch 1ch 1ch 1ch"> +<grid> <item>1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="width:6ch; grid-column:span 3">5</item> + <item style="width:6ch; grid-area: 2/1/3/4">5</item> + <item style="width:6ch; grid-area: 2/2/3/5; visibility: hidden">5</item> </grid> +</section> + -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-002.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-002.html index db83299bf5..3867bb13c8 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-002.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-002.html @@ -3,44 +3,42 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> - <title>CSS Grid Test: Masonry layout intrinsic sizing</title> + <title>CSS Grid Test: Masonry layout column sizing - min-content constraint</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> - <link rel="help" href="https://drafts.csswg.org/css-grid-2"> + <link rel="help" href="https://drafts.csswg.org/css-grid-3/#track-sizing"> <link rel="match" href="masonry-intrinsic-sizing-002-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; - grid-template-columns: repeat(4,auto); grid-template-rows: masonry; border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; width: min-content; } -.fr { + +.auto grid { + grid-template-columns: repeat(4,auto); +} +.fr grid { grid-template-columns: 1fr 2fr 1fr 1fr; } -.mixed { +.mixed grid { grid-template-columns: 1fr 2fr min-content max-content; } - -item { - background-color: #444; - color: blue; -} </style> -</head> + <body> -<grid> +<section class="auto"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -48,7 +46,7 @@ item { <item>5</item> </grid> -<grid> +<grid title="Wider 5th item 2ch"> <item>1</item> <item>2</item> <item>3</item> @@ -56,7 +54,7 @@ item { <item style="width:2ch">5</item> </grid> -<grid> +<grid title="Wider 5th item 2ch in col 2"> <item>1</item> <item>2</item> <item>3</item> @@ -64,7 +62,7 @@ item { <item style="width:2ch; grid-column:2">5</item> </grid> -<grid> +<grid title="Wider 5th item 4ch in col 2-3"> <item>1</item> <item>2</item> <item>3</item> @@ -72,7 +70,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5</item> </grid> -<grid> +<grid title="5th item in col 2-3, wider 6th item 5ch in col 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -81,8 +79,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> - -<grid> +<grid title="5th item 3ch in 2-3, 6th item 5ch in 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -91,7 +88,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid> +<grid title="5th item spanning 4"> <item>1</item> <item>2</item> <item>3</item> @@ -99,7 +96,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid> +<grid title="5th item 6ch spanning 4"> <item>1</item> <item>2</item> <item>3</item> @@ -107,17 +104,19 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid> +<grid title="5th item 6ch spanning 3"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5</item> </grid> +</section> <!-- ditto with 'fr' sizing --> -<grid class="fr"> +<section class="fr"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -125,7 +124,7 @@ item { <item>5</item> </grid> -<grid class="fr"> +<grid title="Wider 5th item 2ch"> <item>1</item> <item>2</item> <item>3</item> @@ -133,7 +132,7 @@ item { <item style="width:2ch">5</item> </grid> -<grid class="fr"> +<grid title="Wider 5th item 2ch in col 2"> <item>1</item> <item>2</item> <item>3</item> @@ -141,7 +140,7 @@ item { <item style="width:2ch; grid-column:2">5</item> </grid> -<grid class="fr"> +<grid title="Wider 5th item 4ch in col 2-3"> <item>1</item> <item>2</item> <item>3</item> @@ -149,7 +148,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5</item> </grid> -<grid class="fr"> +<grid title="5th item in col 2-3, wider 6th item 5ch in col 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -158,8 +157,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> - -<grid class="fr"> +<grid title="5th item 3ch in 2-3, 6th item 5ch in 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -168,7 +166,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="fr"> +<grid title="5th item span 4"> <item>1</item> <item>2</item> <item>3</item> @@ -176,7 +174,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid class="fr"> +<grid title="5th item 6ch span 4"> <item>1</item> <item>2</item> <item>3</item> @@ -184,18 +182,19 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid class="fr"> +<grid title="5th item 6ch span 3"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5</item> </grid> - +</section> <!-- ditto with mixed sizing --> -<grid class="mixed"> +<section class="mixed"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2</item> <item>3</item> @@ -203,7 +202,7 @@ item { <item>5</item> </grid> -<grid class="mixed"> +<grid title="Wider 5th item 2ch"> <item>1</item> <item>2</item> <item>3</item> @@ -211,7 +210,7 @@ item { <item style="width:2ch">5</item> </grid> -<grid class="mixed"> +<grid title="Wider 5th item 2ch in col 2"> <item>1</item> <item>2</item> <item>3</item> @@ -219,7 +218,7 @@ item { <item style="width:2ch; grid-column:2">5</item> </grid> -<grid class="mixed"> +<grid title="Wider 5th item 4ch in col 2-3"> <item>1</item> <item>2</item> <item>3</item> @@ -227,7 +226,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5</item> </grid> -<grid class="mixed"> +<grid title="5th item in col 2-3, wider 6th item 5ch in col 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -236,8 +235,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> - -<grid class="mixed"> +<grid title="5th item 3ch in 2-3, 6th item 5ch in 1-3"> <item>1</item> <item>2</item> <item>3</item> @@ -246,7 +244,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="mixed"> +<grid title="5th item spanning 4"> <item>1</item> <item>2</item> <item>3</item> @@ -254,7 +252,7 @@ item { <item style="grid-column:span 4">5</item> </grid> -<grid class="mixed"> +<grid title="5th item 6ch spanning 4"> <item>1</item> <item>2</item> <item>3</item> @@ -262,13 +260,12 @@ item { <item style="width:6ch; grid-column:span 4">5</item> </grid> -<grid class="mixed"> +<grid title="5th item 6ch spanning 3"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5</item> </grid> +</section> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-003-ref.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-003-ref.html index 61eb21570d..044750dc45 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-003-ref.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-003-ref.html @@ -3,267 +3,331 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> <title>Reference: Masonry layout min-content sizing</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; - grid-template-columns: repeat(4,auto); - grid-auto-rows: 1em; border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; width: min-content; } -.fr { +.auto grid { + grid-template-columns: repeat(4,auto); +} +.fr grid { grid-template-columns: 1fr 2fr 1fr 1fr; } -.mixed { +.mixed grid { grid-template-columns: 1fr 2fr min-content max-content; } item { - background-color: #444; - color: blue; + align-self: start; +} +.hidden { + visibility: hidden; + height: 0; } -item.start { align-self: start; } </style> -</head> + <body> -<grid style="grid-template-rows: 1em 2em"> +<section class="auto"> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item style="width:2ch">1</item> - <item>2 2</item> - <item>3 3</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> <item>4</item> - <item>5 5</item> + <item style="grid-row: span 2">5 5</item> </grid> -<grid style="grid: 1em 2em / 1ch repeat(3,auto); "> +<grid style="grid-template-columns: repeat(4, 2ch)"> <item>1</item> - <item>2 2</item> - <item>3 3</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> <item>4</item> - <item style="width:2ch">5 5</item> + <item style="grid-row: span 2">5 5</item> </grid> -<grid style="grid-template-rows: 2em 2em"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch; grid-column:2">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:2ch; grid-area: 1/2/3">5 5</item> </grid> -<grid style="grid-template-rows: 2em 1em"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:4ch; grid-column:2/span 2">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:4ch; grid-area: 1/2/auto/4">5 5</item> + + <item class="hidden">0</item> </grid> -<grid style="grid-template-rows: 2em 1em"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> +<grid> + <item style="grid-column: 4">1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden">0</item> + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid style="grid-template-rows: 2em 1em"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:3ch; grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> +<grid> + <item style="grid-column: 4">1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:3ch; grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden">0</item> + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid style="grid-template-rows: 2em 1em"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:span 4">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-area: 3/1/4/5">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid style="grid-template-rows: 2em 1em"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 4">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:6ch; grid-area: 3/1/4/5">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid style="grid: 2em 1em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 3">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:6ch; grid-area: 3/1/4/4">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> + <item class="hidden" style="width:6ch; grid-area: 3/2/4/5">0 0</item> </grid> +</section> <!-- ditto with 'fr' sizing --> -<grid class="fr" style="grid: 1em 2em / 2ch 2fr 1fr 1fr"> - <item style="width:2ch" class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item>5 5</item> +<section class="fr"> +<grid style="grid-template-columns: repeat(4, 2ch)"> + <item style="width:2ch">1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-row: span 2">5 5</item> </grid> -<grid class="fr" style="grid: 1em 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch">5 5</item> +<grid style="grid-template-columns: repeat(4, 2ch)"> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-row: span 2">5 5</item> </grid> -<grid class="fr" style="grid: 2em 2em / 1ch 2ch repeat(2,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch; grid-column:2">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:2ch; grid-area: 1/2/3">5 5</item> </grid> -<grid class="fr" style="grid: 2em 1em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:4ch; grid-column:2/span 2">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:4ch; grid-area: 1/2/auto/4">5 5</item> + <item class="hidden">0</item> </grid> -<grid class="fr" style="grid: 2em 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> +<grid> + <item style="grid-column: 4">1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + <item class="hidden">0</item> + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="fr" style="grid: 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:3ch; grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> +<grid> + <item style="grid-column: 4">1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:3ch; grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden">0</item> + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="fr" style="grid: 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:span 4">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-area: 3/1/4/5">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="fr" style="grid: 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 4">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:6ch; grid-area: 3/1/4/5">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="fr" style="grid: 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 3">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:6ch; grid-area: 3/1/4/4">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> + <item class="hidden" style="width:6ch; grid-area: 3/2/4/5">0 0</item> </grid> +</section> <!-- ditto with mixed sizing --> -<grid class="mixed" style="grid: 1em 2em / 2ch repeat(3,1ch)"> - <item style="width:2ch" class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item>5 5</item> +<section class="mixed"> +<grid style="grid-template-columns: repeat(3, 2ch) max-content"> + <item style="width:2ch">1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-row: span 2">5 5</item> + <item class="hidden" style="grid-area: 2/4/4">0 0</item> </grid> -<grid class="mixed" style="grid: 1em 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch">5 5</item> +<grid style="grid-template-columns: repeat(3, 2ch) max-content"> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-row: span 2">5 5</item> + <item class="hidden" style="grid-area: 2/4/4">0 0</item> </grid> -<grid class="mixed" style="grid: 2em 2em / 1ch 2ch repeat(2,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch; grid-column:2">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:2ch; grid-area: 1/2/3">5 5</item> </grid> -<grid class="mixed" style="grid: 2em 1em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:4ch; grid-column:2/span 2">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:4ch; grid-area: 1/2/auto/4">5 5</item> + <item class="hidden">0</item> </grid> -<grid class="mixed" style="grid: 2em 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> +<grid> + <item style="grid-column: 4">1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + <item class="hidden">0</item> + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="mixed" style="grid: 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:3ch; grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> +<grid> + <item style="grid-column: 4">1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:3ch; grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden">0</item> + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="mixed" style="grid: 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:span 4">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-area: 3/1/4/5">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="mixed" style="grid: 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 4">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:6ch; grid-area: 3/1/4/5">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="mixed" style="grid: 2em / repeat(4,1ch)"> - <item class="start">1</item> - <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 3">5 5</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:6ch; grid-area: 3/1/4/4">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> + <item class="hidden" style="width:6ch; grid-area: 3/2/4/5">0 0</item> </grid> +</section> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-003.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-003.html index e43bc86c9b..48489d3c86 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-003.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-003.html @@ -3,44 +3,41 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> - <title>CSS Grid Test: Masonry layout min-content sizing</title> + <title>CSS Grid Test: Masonry layout column sizing - min-content</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> - <link rel="help" href="https://drafts.csswg.org/css-grid-2"> + <link rel="help" href="https://drafts.csswg.org/css-grid-3/#track-sizing"> <link rel="match" href="masonry-intrinsic-sizing-003-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; - grid-template-columns: repeat(4,auto); grid-template-rows: masonry; border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; width: min-content; } -.fr { +.auto grid { + grid-template-columns: repeat(4,auto); +} +.fr grid { grid-template-columns: 1fr 2fr 1fr 1fr; } -.mixed { +.mixed grid { grid-template-columns: 1fr 2fr min-content max-content; } - -item { - background-color: #444; - color: blue; -} </style> -</head> + <body> -<grid> +<section class="auto"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2 2</item> <item>3 3</item> @@ -48,7 +45,7 @@ item { <item>5 5</item> </grid> -<grid> +<grid title="Wrapped 5th item 2ch"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -56,7 +53,7 @@ item { <item style="width:2ch">5 5</item> </grid> -<grid> +<grid title="Wrapped 5th item 2ch col 2"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -64,7 +61,7 @@ item { <item style="width:2ch; grid-column:2">5 5</item> </grid> -<grid> +<grid title="5th item 4ch in col 2-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -72,7 +69,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5 5</item> </grid> -<grid> +<grid title="5th item in col 2-3, 6th item 5ch in col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -81,7 +78,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid> +<grid title="5th item 3ch in col 2-3, 6th item 5ch in col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -90,7 +87,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid> +<grid title="5th item span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -98,7 +95,7 @@ item { <item style="grid-column:span 4">5 5</item> </grid> -<grid> +<grid title="5th item 6ch span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -106,17 +103,19 @@ item { <item style="width:6ch; grid-column:span 4">5 5</item> </grid> -<grid> +<grid title="5th item 6ch span 3"> <item>1</item> <item>2 2</item> <item>3 3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5 5</item> </grid> +</section> <!-- ditto with 'fr' sizing --> -<grid class="fr"> +<section class="fr"> +<grid title="Wider first item 2ch"> <item style="width:2ch">1</item> <item>2 2</item> <item>3 3</item> @@ -124,7 +123,7 @@ item { <item>5 5</item> </grid> -<grid class="fr"> +<grid title="Wrapped last item 2ch"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -132,7 +131,7 @@ item { <item style="width:2ch">5 5</item> </grid> -<grid class="fr"> +<grid title="Wrapped last item 2ch col 2"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -140,7 +139,7 @@ item { <item style="width:2ch; grid-column:2">5 5</item> </grid> -<grid class="fr"> +<grid title="Last item 4ch col 2-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -148,7 +147,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5 5</item> </grid> -<grid class="fr"> +<grid title="Item col 2-3 + Item 5ch col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -157,7 +156,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="fr"> +<grid title="Item 3ch col 2-3 + Item 5ch col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -166,7 +165,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="fr"> +<grid title="Last item span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -174,7 +173,7 @@ item { <item style="grid-column:span 4">5 5</item> </grid> -<grid class="fr"> +<grid title="Last item 6ch span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -182,17 +181,19 @@ item { <item style="width:6ch; grid-column:span 4">5 5</item> </grid> -<grid class="fr"> +<grid title="Last item 6ch span 3"> <item>1</item> <item>2 2</item> <item>3 3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5 5</item> </grid> +</section> <!-- ditto with mixed sizing --> -<grid class="mixed"> +<section class="mixed"> +<grid title="Wider first item 2ch"> <item style="width:2ch">1</item> <item>2 2</item> <item>3 3</item> @@ -200,7 +201,7 @@ item { <item>5 5</item> </grid> -<grid class="mixed"> +<grid title="Wrapped last item 2ch"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -208,7 +209,7 @@ item { <item style="width:2ch">5 5</item> </grid> -<grid class="mixed"> +<grid title="Wrapped last item 2ch col 2"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -216,7 +217,7 @@ item { <item style="width:2ch; grid-column:2">5 5</item> </grid> -<grid class="mixed"> +<grid title="Last item 4ch col 2-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -224,7 +225,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5 5</item> </grid> -<grid class="mixed"> +<grid title="Item col 2-3 + Item 5ch col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -233,7 +234,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="mixed"> +<grid title="Item 3ch col 2-3 + Item 5ch col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -242,7 +243,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="mixed"> +<grid title="Last item span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -250,7 +251,7 @@ item { <item style="grid-column:span 4">5 5</item> </grid> -<grid class="mixed"> +<grid title="Last item 6ch span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -258,13 +259,12 @@ item { <item style="width:6ch; grid-column:span 4">5 5</item> </grid> -<grid class="mixed"> +<grid title="Last item 6ch span 3"> <item>1</item> <item>2 2</item> <item>3 3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5 5</item> </grid> +</section> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-004-ref.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-004-ref.html index 6a5d81fedb..302dcad116 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-004-ref.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-004-ref.html @@ -3,268 +3,355 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> <title>Reference: Masonry layout max-content sizing</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; - grid-template-columns: 1ch 3ch 3ch 1ch; - grid-auto-rows: 1em; border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; align-items: start; width: max-content; } -.fr { +.auto grid { + grid-template-columns: repeat(4, auto); +} +.fr grid { grid-template-columns: 1fr 2fr 1fr 1fr; } -.mixed { +.mixed grid { grid-template-columns: 1fr 2fr min-content max-content; } item { - background-color: #444; - color: blue; + align-self: start; +} +.hidden { + visibility: hidden; + height: 0; } -item.start { align-self: start; } </style> -</head> + <body> -<grid style="grid: 1em 2em / 2ch 3ch 3ch 1ch"> +<section class="auto"> +<grid> <item style="width:2ch">1</item> <item>2 2</item> <item>3 3</item> <item>4</item> <item>5 5</item> + + <item class="hidden" style="grid-column: 4">0 0</item> </grid> -<grid style="grid: 1em 2em / 1ch 3ch 3ch 1ch; "> +<grid> <item>1</item> <item>2 2</item> <item>3 3</item> <item>4</item> - <item style="width:2ch">5 5</item> + <item style="width: 2ch; grid-area: 2/1">5 5</item> + + <item class="hidden" style="grid-area: 2/1">0 0</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> </grid> -<grid style="grid-template-rows: 1em 2em"> - <item class="start">1</item> +<grid> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch; grid-column:2">5 5</item> + <item style="grid-area: 2/1">4</item> + <item style="width:2ch; grid-area: 1/2/3">5 5</item> + + <item class="hidden" style="grid-area: 2/1">0 0</item> + <item class="hidden" style="grid-area: 2/2">0 0</item> </grid> <grid> - <item class="start">1</item> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:4ch; grid-column:2/span 2">5 5</item> + <item style="grid-area: 2/2">4</item> + <item style="width:4ch; grid-area: 1/2/auto/4">5 5</item> + + <item class="hidden" style="grid-area: 2/2">0 0</item> + <item class="hidden" style="grid-area: 2/3">0 0</item> </grid> <grid> - <item class="start">1</item> + <item style="grid-area: 1/4">1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item>4</item> + <item style="grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden" style="grid-area: 1/1">0</item> + <item class="hidden" style="grid-area: 2/2">0 0</item> + <item class="hidden" style="grid-area: 2/3">0 0</item> + <item class="hidden" style="grid-area: 1/4">0 0</item> </grid> <grid> - <item class="start">1</item> + <item style="grid-area: 1/4">1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:3ch; grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item>4</item> + <item style="width:3ch; grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden" style="grid-area: 1/1">0</item> + <item class="hidden" style="grid-area: 2/2">0 0</item> + <item class="hidden" style="grid-area: 2/3">0 0</item> + <item class="hidden" style="grid-area: 1/4">0 0</item> </grid> <grid> - <item class="start">1</item> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:span 4">5 5</item> + <item>4</item> + <item style="grid-area: 2/1/3/5">5 5</item> + + <item class="hidden" style="grid-area: 2/1">0 0</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> </grid> <grid> - <item class="start">1</item> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 4">5 5</item> + <item>4</item> + <item style="width:6ch; grid-area: 2/1/3/5">5 5</item> + + <item class="hidden" style="grid-area: 2/1">0 0</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> </grid> <grid> - <item class="start">1</item> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 3">5 5</item> + <item>4</item> + <item style="width:6ch; grid-area: 2/1/3/4">5 5</item> + + <item class="hidden" style="grid-area: 2/1">0 0</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> + <item class="hidden" style="width:6ch; grid-area: 2/2/3/5">0 0</item> </grid> +</section> <!-- ditto with 'fr' sizing --> -<grid class="fr"> - <item style="width:2ch" class="start">1</item> +<section class="fr"> +<grid> + <item style="width:2ch">1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> + <item>4</item> <item>5 5</item> + <item class="hidden" style="grid-area: 2/4/4">0 0</item> </grid> -<grid class="fr" style="grid: 1em 2em / 3ch 6ch 3ch 3ch"> - <item class="start">1</item> +<grid> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch">5 5</item> + <item>4</item> + <item style="width: 2ch">5 5</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> </grid> -<grid class="fr" style="grid: 1em 2em / 3ch 6ch 3ch 3ch"> - <item class="start">1</item> +<grid> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch; grid-column:2">5 5</item> + <item>4</item> + <item style="width:2ch; grid-area: 1/2/3">5 5</item> </grid> -<grid class="fr"> - <item class="start">1</item> +<grid> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:4ch; grid-column:2/span 2">5 5</item> + <item>4</item> + <item style="width:4ch; grid-area: 1/2/auto/4">5 5</item> + <item class="hidden">0</item> </grid> -<grid class="fr"> - <item class="start">1</item> +<grid> + <item style="grid-area: 1/4">1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item>4</item> + <item style="grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden" style="grid-area: 1/1">0</item> + <item class="hidden" style="grid-area: 2/2">0 0</item> + <item class="hidden" style="grid-area: 2/3">0 0</item> + <item class="hidden" style="grid-area: 1/4">0 0</item> </grid> -<grid class="fr"> - <item class="start">1</item> +<grid> + <item style="grid-area: 1/4">1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:3ch; grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> + <item>4</item> + <item style="width:3ch; grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden" style="grid-area: 1/1">0</item> + <item class="hidden" style="grid-area: 2/2">0 0</item> + <item class="hidden" style="grid-area: 2/3">0 0</item> + <item class="hidden" style="grid-area: 1/4">0 0</item> </grid> -<grid class="fr"> - <item class="start">1</item> +<grid> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="grid-column:span 4">5 5</item> + <item>4</item> + <item style="grid-area: 2/1/3/5">5 5</item> + + <item class="hidden" style="grid-area: 2/1">0 0</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> </grid> -<grid class="fr"> - <item class="start">1</item> +<grid> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 4">5 5</item> + <item>4</item> + <item style="width:6ch; grid-area: 2/1/3/5">5 5</item> + + <item class="hidden" style="grid-area: 2/1">0 0</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> </grid> -<grid class="fr"> - <item class="start">1</item> +<grid> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 3">5 5</item> + <item>4</item> + <item style="width:6ch; grid-area: 2/1/3/4">5 5</item> + + <item class="hidden" style="grid-area: 2/1">0 0</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> + <item class="hidden" style="width:6ch; grid-area: 2/2/3/5">0 0</item> </grid> +</section> <!-- ditto with mixed sizing --> -<grid class="mixed" style="grid: 1em 2em / 2ch 4ch 1ch 1ch"> - <item style="width:2ch" class="start">1</item> +<section class="mixed"> +<grid> + <item style="width:2ch">1</item> <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item>5 5</item> + <item style="grid-area: 1/3/3">3 3</item> + <item>4</item> + <item style="grid-area: 2/1">5 5</item> + + <item class="hidden" style="grid-area: 2/3; width: 2ch">0</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> </grid> -<grid class="mixed" style="grid: 1em 2em / calc(3ch/2) 3ch 1ch 1ch"> - <item class="start">1</item> +<grid> + <item>1</item> <item>2 2</item> - <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch">5 5</item> + <item style="grid-area: 1/3/3">3 3</item> + <item>4</item> + <item style="width: 2ch; grid-area: 2/1">5 5</item> + + <item class="hidden" style="grid-area: 2/3; width: 2ch">0</item> + <item class="hidden" style="grid-area: 2/4">0 0</item> </grid> -<grid class="mixed" style="grid: 1em 2em / calc(3ch/2) 3ch 1ch 1ch"> - <item class="start">1</item> +<grid> + <item>1</item> + <item style="grid-row: span 2">2 2</item> + <item style="grid-row: span 2">3 3</item> + <item style="grid-area: 2/1">4</item> + <item style="width:2ch; grid-area: 1/2/3">5 5</item> + + <item class="hidden" style="grid-area: 2/1">0 0</item> +</grid> + +<grid> + <item>1</item> <item>2 2</item> <item>3 3</item> - <item class="start">4</item> - <item style="width:2ch; grid-column:2">5 5</item> -</grid> + <item>4</item> + <item style="width:4ch; grid-area: 1/2/auto/4">5 5</item> -<grid class="mixed" style="grid: 2em 1em / calc(3ch/2) 3ch 1ch 1ch"> - <item class="start">1</item> - <item class="start">2 2</item> - <item class="start">3 3</item> - <item class="start">4</item> - <item style="width:4ch; grid-column:2/span 2">5 5</item> + <item class="hidden">0</item> </grid> -<grid class="mixed" style="grid: 2em 1em 1em / calc(3ch/2) 3ch 1ch 1ch"> - <item class="start">1</item> - <item class="start">2 2</item> - <item class="start">3 3</item> - <item class="start">4</item> - <item style="grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> +<grid> + <item style="grid-column: 4">1</item> + <item>2 2</item> + <item>3 3</item> + <item>4</item> + <item style="grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden">0 0</item> + <item class="hidden" style="grid-area: 2/2">0 0</item> </grid> -<grid class="mixed" style="grid: 2em 1em / calc(3ch/2) 3ch 1ch 1ch"> - <item class="start">1</item> - <item class="start">2 2</item> - <item class="start">3 3</item> - <item class="start">4</item> - <item style="width:3ch; grid-column:2/span 2">5 5</item> - <item style="width:5ch; grid-column:1/span 3">6</item> +<grid> + <item style="grid-column: 4">1</item> + <item>2 2</item> + <item>3 3</item> + <item>4</item> + <item style="width:3ch; grid-area: 1/2/2/4">5 5</item> + <item style="width:5ch; grid-area: 2/1/3/4">6</item> + + <item class="hidden" style="grid-area: 2/3">0 0</item> </grid> -<grid class="mixed" style="grid: 2em 1em / calc(3ch/2) 3ch 1ch 1ch"> - <item class="start">1</item> - <item class="start">2 2</item> - <item class="start">3 3</item> - <item class="start">4</item> - <item style="grid-column:span 4">5 5</item> +<grid> + <item>1</item> + <item>2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="grid-area: 3/1/4/5">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="mixed" style="grid: 2em 1em / calc(3ch/2) 3ch 1ch 1ch"> - <item class="start">1</item> - <item class="start">2 2</item> - <item class="start">3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 4">5 5</item> +<grid> + <item>1</item> + <item>2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:6ch; grid-area: 3/1/4/5">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> </grid> -<grid class="mixed" style="grid: 2em 1em / calc(3ch/2) 3ch 1ch 1ch"> - <item class="start">1</item> - <item class="start">2 2</item> - <item class="start">3 3</item> - <item class="start">4</item> - <item style="width:6ch; grid-column:span 3">5 5</item> +<grid> + <item>1</item> + <item>2 2</item> + <item style="grid-row: span 2">3 3</item> + <item>4</item> + <item style="width:6ch; grid-area: 3/1/4/4">5 5</item> + + <item class="hidden">0 0</item> + <item class="hidden">0 0</item> + <item class="hidden" style="width:6ch; grid-area: 3/2/4/5">0 0</item> </grid> +</section> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-004.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-004.html index 5365208c00..c8bc671bb3 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-004.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-004.html @@ -3,44 +3,41 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> - <title>CSS Grid Test: Masonry layout max-content sizing</title> + <title>CSS Grid Test: Masonry layout column sizing - max-content</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> - <link rel="help" href="https://drafts.csswg.org/css-grid-2"> + <link rel="help" href="https://drafts.csswg.org/css-grid-3"> <link rel="match" href="masonry-intrinsic-sizing-004-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; - grid-template-columns: repeat(4,auto); grid-template-rows: masonry; border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; width: max-content; } -.fr { +.auto grid { + grid-template-columns: repeat(4,auto); +} +.fr grid { grid-template-columns: 1fr 2fr 1fr 1fr; } -.mixed { +.mixed grid { grid-template-columns: 1fr 2fr min-content max-content; } - -item { - background-color: #444; - color: blue; -} </style> -</head> + <body> -<grid> +<section class="auto"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2 2</item> <item>3 3</item> @@ -48,7 +45,7 @@ item { <item>5 5</item> </grid> -<grid> +<grid title="Wrapped 5th item 2ch"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -56,7 +53,7 @@ item { <item style="width:2ch">5 5</item> </grid> -<grid> +<grid title="Wrapped 5th item 2ch in col 2"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -64,7 +61,7 @@ item { <item style="width:2ch; grid-column:2">5 5</item> </grid> -<grid> +<grid title="5th item 4ch in col 2-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -72,7 +69,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5 5</item> </grid> -<grid> +<grid title="4th item in col 2-3, 5th item 5ch in col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -81,7 +78,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid> +<grid title="5th item 3ch in col 2-3, 6th item 5ch in col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -90,7 +87,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid> +<grid title="5th item span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -98,7 +95,7 @@ item { <item style="grid-column:span 4">5 5</item> </grid> -<grid> +<grid title="5th item 6ch span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -106,17 +103,19 @@ item { <item style="width:6ch; grid-column:span 4">5 5</item> </grid> -<grid> +<grid title="5th item 6ch span 3"> <item>1</item> <item>2 2</item> <item>3 3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5 5</item> </grid> +</section> <!-- ditto with 'fr' sizing --> -<grid class="fr"> +<section class="fr"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2 2</item> <item>3 3</item> @@ -124,7 +123,7 @@ item { <item>5 5</item> </grid> -<grid class="fr"> +<grid title="Wrapped 5th item 2ch"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -132,7 +131,7 @@ item { <item style="width:2ch">5 5</item> </grid> -<grid class="fr"> +<grid title="Wrapped 5th item 2ch in col 2"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -140,7 +139,7 @@ item { <item style="width:2ch; grid-column:2">5 5</item> </grid> -<grid class="fr"> +<grid title="5th item 4ch in col 2-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -148,7 +147,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5 5</item> </grid> -<grid class="fr"> +<grid title="4th item in col 2-3, 5th item 5ch in col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -157,7 +156,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="fr"> +<grid title="5th item 3ch in col 2-3, 6th item 5ch in col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -166,7 +165,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="fr"> +<grid title="5th item span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -174,7 +173,7 @@ item { <item style="grid-column:span 4">5 5</item> </grid> -<grid class="fr"> +<grid title="5th item 6ch span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -182,17 +181,19 @@ item { <item style="width:6ch; grid-column:span 4">5 5</item> </grid> -<grid class="fr"> +<grid title="5th item 6ch span 3"> <item>1</item> <item>2 2</item> <item>3 3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5 5</item> </grid> +</section> <!-- ditto with mixed sizing --> -<grid class="mixed"> +<section class="mixed"> +<grid title="Wider 1st item 2ch"> <item style="width:2ch">1</item> <item>2 2</item> <item>3 3</item> @@ -200,7 +201,7 @@ item { <item>5 5</item> </grid> -<grid class="mixed"> +<grid title="Wrapped 5th item 2ch"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -208,7 +209,7 @@ item { <item style="width:2ch">5 5</item> </grid> -<grid class="mixed"> +<grid title="Wrapped 5th item 2ch in col 2"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -216,7 +217,7 @@ item { <item style="width:2ch; grid-column:2">5 5</item> </grid> -<grid class="mixed"> +<grid title="5th item 4ch in col 2-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -224,7 +225,7 @@ item { <item style="width:4ch; grid-column:2/span 2">5 5</item> </grid> -<grid class="mixed"> +<grid title="4th item in col 2-3, 5th item 5ch in col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -233,7 +234,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="mixed"> +<grid title="5th item 3ch in col 2-3, 6th item 5ch in col 1-3"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -242,7 +243,7 @@ item { <item style="width:5ch; grid-column:1/span 3">6</item> </grid> -<grid class="mixed"> +<grid title="5th item span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -250,7 +251,7 @@ item { <item style="grid-column:span 4">5 5</item> </grid> -<grid class="mixed"> +<grid title="5th item 6ch span 4"> <item>1</item> <item>2 2</item> <item>3 3</item> @@ -258,13 +259,12 @@ item { <item style="width:6ch; grid-column:span 4">5 5</item> </grid> -<grid class="mixed"> +<grid title="5th item 6ch span 3"> <item>1</item> <item>2 2</item> <item>3 3</item> <item>4</item> <item style="width:6ch; grid-column:span 3">5 5</item> </grid> +</section> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-005-ref.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-005-ref.html index e564fb1b3e..725f646ebd 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-005-ref.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-005-ref.html @@ -3,35 +3,32 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> - <title>Reference: Masonry layout intrinsic sizing</title> + <title>Reference: Masonry layout row sizing (vertical writing mode)</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; + grid-template-rows: repeat(4,auto); grid-auto-flow: column; border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; } - item { - background-color: #444; - color: blue; writing-mode: vertical-lr; } </style> -</head> + <body> -<grid style="grid-template-rows: 3ch repeat(3,1ch)"> +<grid style="grid-template-rows: repeat(4, 3ch)"> <item style="height:3ch">1</item> <item>2</item> <item>3</item> @@ -43,7 +40,7 @@ item { <item>9 9</item> </grid> -<grid style="grid-template-rows: repeat(4,1ch)"> +<grid style="grid-template-rows: repeat(4,3ch)"> <item>1</item> <item>2</item> <item>3</item> @@ -79,5 +76,3 @@ item { <item>9 9</item> </grid> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-005.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-005.html index cf9b680869..83afd5bafa 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-005.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-005.html @@ -3,17 +3,16 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> - <title>CSS Grid Test: Masonry layout intrinsic sizing</title> + <title>CSS Grid Test: Masonry layout row sizing (vertical writing mode)</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> - <link rel="help" href="https://drafts.csswg.org/css-grid-2"> + <link rel="help" href="https://drafts.csswg.org/css-grid-3/#track-sizing"> <link rel="match" href="masonry-intrinsic-sizing-005-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; @@ -26,15 +25,13 @@ grid { } item { - background-color: #444; - color: blue; writing-mode: vertical-lr; } </style> -</head> + <body> -<grid> +<grid title="First item 3ch"> <item style="height:3ch">1</item> <item>2</item> <item>3</item> @@ -46,7 +43,7 @@ item { <item>9 9</item> </grid> -<grid> +<grid title="Fifth item 3ch"> <item>1</item> <item>2</item> <item>3</item> @@ -58,7 +55,7 @@ item { <item>9 9</item> </grid> -<grid> +<grid title="Fifth item 3ch row 1"> <item>1</item> <item>2</item> <item>3</item> @@ -70,7 +67,7 @@ item { <item>9 9</item> </grid> -<grid> +<grid title="Fifth item 3ch col 1 (ignored)"> <item>1</item> <item>2</item> <item>3</item> @@ -82,5 +79,3 @@ item { <item>9 9</item> </grid> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-006-ref.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-006-ref.html index e1cb015cfe..1a88c2b4cb 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-006-ref.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-006-ref.html @@ -3,58 +3,49 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> - <title>Reference: Masonry layout intrinsic sizing</title> + <title>Reference: Masonry layout row auto-fill sizing</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; gap: 1px 2px; grid-auto-flow: column; - grid-template-columns: 1ch; grid-template-rows: repeat(4,1em); border: 1px solid; padding: 0 1px 0 2px; vertical-align: top; } - -item { - background-color: #444; - color: blue; -} </style> -</head> + <body> <grid> - <item style="width:3ch">1 1</item> + <item style="width:3ch; grid-column: span 2">1 1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="grid-row:2">5 5</item> + <item style="grid-column: span 2">5 5</item> </grid> <grid> - <item style="width:3ch">1 1</item> + <item style="width:3ch; grid-column: span 2">1 1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="grid-row:2">5 5</item> + <item style="grid-column: span 2">5 5</item> </grid> <grid style="height:5em"> - <item style="width:3ch">1 1</item> + <item style="width:3ch; grid-column: span 2">1 1</item> <item>2</item> <item>3</item> <item>4</item> - <item style="grid-row:2">5 5</item> + <item style="grid-column: span 2">5 5</item> </grid> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-006.html b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-006.html index 49fd53bb79..ad54800921 100644 --- a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-006.html +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-006.html @@ -3,17 +3,16 @@ Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> -<html><head> +<html> <meta charset="utf-8"> - <title>CSS Grid Test: Masonry layout intrinsic sizing</title> + <title>CSS Grid Test: Masonry layout row auto-fill sizing</title> <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com"> - <link rel="help" href="https://drafts.csswg.org/css-grid-2"> + <link rel="help" href="https://drafts.csswg.org/css-grid-3/#track-sizing"> <link rel="match" href="masonry-intrinsic-sizing-006-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> <style> -html,body { - color:black; background-color:white; font:15px/1 Ahem; padding:0; margin:0; -} + +@import "support/masonry-intrinsic-sizing-visual.css"; grid { display: inline-grid; @@ -24,16 +23,12 @@ grid { padding: 0 1px 0 2px; vertical-align: top; } - -item { - background-color: #444; - color: blue; -} </style> -</head> + <body> -<grid style="max-height:5em; grid-template-rows: repeat(auto-fill,1em);"> +<grid title="max-height 5em" + style="max-height:5em; grid-template-rows: repeat(auto-fill,1em);"> <item>1 1</item> <item>2</item> <item>3</item> @@ -41,7 +36,8 @@ item { <item>5 5</item> </grid> -<grid style="min-height:4em; grid-template-rows: repeat(auto-fill,1em);"> +<grid title="min-height 4em" + style="min-height:4em; grid-template-rows: repeat(auto-fill,1em);"> <item>1 1</item> <item>2</item> <item>3</item> @@ -49,7 +45,8 @@ item { <item>5 5</item> </grid> -<grid style="height:5em; grid-template-rows: repeat(auto-fill,1em);"> +<grid title="height 5em" + style="height:5em; grid-template-rows: repeat(auto-fill,1em);"> <item>1 1</item> <item>2</item> <item>3</item> @@ -57,5 +54,3 @@ item { <item>5 5</item> </grid> -</body> -</html> diff --git a/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/support/masonry-intrinsic-sizing-visual.css b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/support/masonry-intrinsic-sizing-visual.css new file mode 100644 index 0000000000..150f0f2679 --- /dev/null +++ b/testing/web-platform/tests/css/css-grid/masonry/tentative/intrinsic-sizing/support/masonry-intrinsic-sizing-visual.css @@ -0,0 +1,48 @@ +/* Basic Testing Setup */ +html,body { + color: black; background: white; font: 15px/1 Ahem, monospace; + padding: 1em 0; margin: 0; + max-width: 800px; height: calc(600px - 2em); + border-bottom: 1px solid orange; /* Do Not Cross */ +} + + +/* Visualization */ +grid { + margin: 0.5em; +} +item { + background-color: gray; + color: blue; +} + +/* Debugging Aid */ +section { + border-top: 1px solid gray; + counter-reset: grid; +} + +grid { + margin-inline-start: 1em; + counter-increment: grid; +} +grid::before { + position: absolute; + margin: 0 -1.1em; + font: smaller sans-serif; + content: counter(grid); + color: navy; +} + +grid:hover { + outline: navy solid; +} +grid:hover item[style] { + color: navy; +} +grid:hover::after { + content: attr(title); + position: absolute; + inset: 0.1em auto auto 0.5rem; + font: bold smaller sans-serif; +} |