1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
<!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: stretching intrinsic ratio item with 'normal' and/or 'stretch', with Automatic Minimum Size clamping</title>
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1315383">
<link rel="help" href="https://drafts.csswg.org/css-align-3/#valdef-justify-self-stretch">
<link rel="match" href="grid-item-intrinsic-ratio-normal-001-ref.html">
<style type="text/css">
.grid {
display: inline-grid;
border: 1px solid;
margin: 5px;
}
x { width:32px; height:2px; background:cyan; }
.w24 > x { width:24px; }
.w8 > x { width:8px; }
.w4 > x { width:4px; }
</style>
</head>
<body>
<div class="grid" style="grid: minmax(auto, 24px) minmax(auto, 10px) minmax(auto, 24px) / repeat(7, minmax(auto, 32px)); grid-column-gap: 10px;">
<div style="height:24px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:24px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>
<br>
<div class="grid w24" style="grid: minmax(auto, 32px) minmax(auto, 10px) minmax(auto, 32px) / repeat(7, minmax(auto, 24px)); grid-column-gap: 10px;">
<div style="height:32px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:32px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>
<br>
<div class="grid w4" style="grid: minmax(auto, 8px) minmax(auto, 10px) minmax(auto, 8px) / repeat(7, minmax(auto, 4px)); grid-column-gap:32px; ">
<div style="height:8px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:8px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>
<br>
<div class="grid w4" style="grid: minmax(auto, 32px) minmax(auto, 10px) minmax(auto, 32px) / repeat(7, minmax(auto, 4px)); grid-column-gap:32px; ">
<div style="height:32px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:32px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>
<br>
<div class="grid w8" style="grid: repeat(3, minmax(auto, 4px)) / repeat(7, minmax(auto, 8px)); grid-gap:8px; ">
<div style="height:4px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:4px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>
<br>
<div class="grid" style="grid: repeat(3, minmax(auto, 8px)) / repeat(7, minmax(auto, 32px)); grid-gap:16px; ">
<div style="height:4px; width:2px; background:cyan; grid-row:1"></div>
<div style="height:10px; grid-row:2; grid-column: span 7"></div>
<div style="height:4px; grid-row:3"></div>
<x style="grid-row:4"></x>
</div>
<br>
<script>
var url = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAEElEQVQoz2NgGAWjYBTAAAADEAABaJFtwwAAAABJRU5ErkJggg%3D%3D";
var grids = document.querySelectorAll('.grid');
var js = [ "normal", "start", "center", "stretch" ];
var as = [ "normal", "start", "center", "stretch" ];
for (var i = 0; i < grids.length; ++i) {
for (var j = 0; j < js.length; j++) {
for (var a = 0; a < as.length; a++) {
if (as[a] != "normal" && as[a] != "stretch" &&
js[j] != "normal" && js[j] != "stretch") {
continue;
}
var img = document.createElement('img');
img.style.alignSelf = as[a];
img.style.justifySelf = js[j];
img.src = url;
img.setAttribute('title', as[a] + ' / ' + js[j]);
grids[i].appendChild(img);
}
}
for (var j = 0; j < js.length; j++) {
for (var a = 0; a < as.length; a++) {
if (as[a] != "normal" && as[a] != "stretch" &&
js[j] != "normal" && js[j] != "stretch") {
continue;
}
var x = document.createElement('x');
grids[i].appendChild(x);
}
}
}
</script>
<!-- For generating image size results in -ref file
<script>
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)
</script>
-->
</body>
</html>
|