summaryrefslogtreecommitdiffstats
path: root/layout/reftests/css-grid/grid-item-intrinsic-ratio-normal-001.html
blob: 712ee06ac22633120440de474fa1a2a97be65a79 (plain)
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
130
131
132
133
134
<!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 no 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;
  grid-template-columns: repeat(7, min-content);
  grid-auto-rows: min-content;
  grid-column-gap: 10px;
}

img { min-width:0; min-height:0; }

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">
<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">
<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:8px 10px 8px / repeat(7, 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-template-columns:repeat(7, 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, 4px) / repeat(7, 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-template-rows:repeat(3, 8px); 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>