diff options
Diffstat (limited to 'layout/reftests/css-grid/grid-item-auto-min-size-clamp-003.html')
-rw-r--r-- | layout/reftests/css-grid/grid-item-auto-min-size-clamp-003.html | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/layout/reftests/css-grid/grid-item-auto-min-size-clamp-003.html b/layout/reftests/css-grid/grid-item-auto-min-size-clamp-003.html new file mode 100644 index 0000000000..b2d9b5a1c1 --- /dev/null +++ b/layout/reftests/css-grid/grid-item-auto-min-size-clamp-003.html @@ -0,0 +1,170 @@ +<!DOCTYPE html> +<!-- + Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ +--> +<html><head> + <meta charset="utf-8"> + <title>CSS Grid Test: Clamp 'automatic minimum size' to definite max-sizing for intrinsic ratio item</title> + <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1300369"> + <link rel="help" href="https://drafts.csswg.org/css-grid/#min-size-auto"> + <link rel="match" href="grid-item-auto-min-size-clamp-003-ref.html"> + <style type="text/css"> +body,html { color:black; background:white; font:16px/1 monospace; padding:0; margin:0; } + +.grid { + display: grid; + grid-template-columns: repeat(2,minmax(auto, 15px)); + grid-template-rows: repeat(2,minmax(auto, 10px)); + grid-gap: 1px; + align-items: start; + justify-items: start; + float: left; + border: 1px dashed; + margin-right: 16px; + margin-bottom: 14px; +} +.sz { + width: 40px; + height: 40px; +} + +.definite { + grid-template-columns: repeat(2,15px); + grid-template-rows: repeat(2,10px); +} +.min { + grid-template-columns: repeat(2,minmax(max-content, 15px)); + grid-template-rows: repeat(2,minmax(max-content, 10px)); +} +.max { + grid-template-columns: repeat(2,minmax(min-content, 15px)); + grid-template-rows: repeat(2,minmax(min-content, 10px)); +} + +.larger .grid { + grid-template-columns: repeat(2,minmax(auto, 25px)); + grid-template-rows: repeat(2,minmax(auto, 28px)); +} +.larger .definite { + grid-template-columns: repeat(2,25px); + grid-template-rows: repeat(2,28px); +} +.larger .min { + grid-template-columns: repeat(2,minmax(max-content, 25px)); + grid-template-rows: repeat(2,minmax(max-content, 28px)); +} +.larger .max { + grid-template-columns: repeat(2,minmax(min-content, 25px)); + grid-template-rows: repeat(2,minmax(min-content, 28px)); +} + +.stretch .grid { + align-items: stretch; + justify-items: stretch; +} + +img { + grid-area: 1 / 1; + border: 1px solid; + padding: 1px 3px 5px 7px; + margin: 3px 5px 7px 1px; +} +.span2 { + grid-area: 1 / 1 / span 2 / span 2; +} +.larger .grid .span2 { + font-size: 32px; +} + +x { + grid-area: 1 / 1; + min-width: 0; + min-height: 0; + align-self: stretch; + justify-self: stretch; + background: cyan; +} + +br { + clear: both; +} + </style> +</head> +<body> + +<div id="tests"> +<div class="grid"><x></x><img src="support/solidblue-20x32.png"></div> +<div class="grid definite"><x></x><img src="support/solidblue-20x32.png"></div> +<div class="grid"><x></x><img class="span2" src="support/solidblue-20x32.png"></div> +<div class="grid definite"><x></x><img class="span2" src="support/solidblue-20x32.png"></div> + +<div class="grid sz"><x></x><img src="support/solidblue-20x32.png"></div> +<div class="grid sz definite"><x></x><img src="support/solidblue-20x32.png"></div> +<div class="grid sz"><x></x><img class="span2" src="support/solidblue-20x32.png"></div> +<div class="grid sz definite"><x></x><img class="span2" src="support/solidblue-20x32.png"></div> + +<br> + +<div class="grid min"><x></x><img src="support/solidblue-20x32.png"></div> +<div class="grid min"><x></x><img class="span2" src="support/solidblue-20x32.png"></div> +<div class="grid sz min"><x></x><img src="support/solidblue-20x32.png"></div> +<div class="grid sz min"><x></x><img class="span2" src="support/solidblue-20x32.png"></div> + +<div class="grid max"><x></x><img src="support/solidblue-20x32.png"></div> +<div class="grid max"><x></x><img class="span2" src="support/solidblue-20x32.png"></div> +<div class="grid sz max"><x></x><img src="support/solidblue-20x32.png"></div> +<div class="grid sz max"><x></x><img class="span2" src="support/solidblue-20x32.png"></div> + +<br> + +</div> + +<script> +var tests = document.getElementById('tests'); + +var n = tests.cloneNode(true); +var wrap = document.createElement('div'); +wrap.className = 'larger'; +wrap.appendChild(n); +document.body.appendChild(wrap); + +var n = tests.cloneNode(true); +var wrap = document.createElement('div'); +wrap.className = 'stretch'; +wrap.appendChild(n); +document.body.appendChild(wrap); + +var n = tests.cloneNode(true); +var wrap = document.createElement('div'); +wrap.className = 'stretch larger'; +wrap.appendChild(n); +document.body.appendChild(wrap); + +</script> + +<!-- +<script> +document.body.onload = function() { + document.body.clientHeight; + var imgs = document.querySelectorAll('img'); + var s = ' [\n'; + for (var i = 0; i < imgs.length; ++i) { + s += " ['"+ imgs[i].width + "px', '" + imgs[i].height + "px'],\n"; + } + s += ']'; + console.log(s) + + var grids = document.querySelectorAll('.grid'); + var s = ' [\n'; + for (var i = 0; i < grids.length; ++i) { + let cs = window.getComputedStyle(grids[i]); + s += " ['"+ cs.gridTemplateRows + " / " + cs.gridTemplateColumns + "'],\n"; + } + s += ']'; + console.log(s) +} +</script> +--> + +</body></html> |