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
|
<!DOCTYPE HTML>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<html><head>
<meta charset="utf-8">
<title>Reference: align-items:stretch / justify-items:stretch </title>
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1151213">
<style type="text/css">
html,body {
color:black; background-color:white; font-size:16px; padding:0; margin:0;
}
separator { clear:both; display:block; height:6px; }
.grid {
display: grid;
position: relative;
float: left;
border: 1px solid;
border-block-start: 2px solid blue;
grid-template: 1px 25px 5px / 3px 21px 1px;
padding: 1px 1px 3px 2px;
margin-right: 2px;
width: 40px;
height: 40px;
align-items: start;
justify-items: start;
}
span {
position: absolute;
top:0;left:0;bottom:0;right:0;
grid-area: 2 / 2 / 3 / 3; /* the center area */
display: block;
width: 17px;
height: 13px;
background: lightgrey;
/* good for manual debugging but causes anti-aliasing diff: */
/* border-block-start: 2px solid blue; */
/* border-inline-start: 2px solid lime; */
border-block-start: 2px solid black;
border-inline-start: 2px solid black;
margin: 1px 1px 2px 2px;
}
abs1,abs2,abs3,abs4 {
position: absolute;
top:0;left:0;bottom:0;right:0;
width:2px; height:2px;
background: black;
}
abs1 { top:auto; left:auto; }
abs2 { top:auto; right:auto; }
abs3 { bottom:auto; left:auto; }
abs4 { bottom:auto; right:auto; }
.hl { writing-mode: horizontal-tb; direction:ltr; }
.hr { writing-mode: horizontal-tb; direction:rtl; }
.vl { writing-mode: vertical-lr; }
.vr { writing-mode: vertical-rl; }
.vlr { writing-mode: vertical-lr; direction:rtl; }
.vrl { writing-mode: vertical-rl; direction:ltr; }
.stretch1 { }
.stretch2 { height:auto; }
.stretch3 { height:auto; max-height:13px; }
.stretch4 { width:auto; }
.stretch5 { width:auto; max-width:17px; }
.stretch6 { width:auto; height:auto; max-width:17px; max-height:13px; }
.stretch7 { width:auto; height:auto; }
</style>
</head>
<body>
<pre>
There should be no red areas.
All grey areas should have a black dot in each corner.
</pre>
<script>
var gridwm = [ "hl", "hr", "vl", "vr", "vlr", "vrl" ];
var wm = [ "hl", "hr", "vl", "vr", "vlr", "vrl" ];
var test = [ "stretch1", "stretch2", "stretch3", "stretch4", "stretch5",
"stretch6", "stretch7" ];
for (var i = 0; i < gridwm.length; ++i) {
for (var j = 0; j < wm.length; ++j) {
for (var k = 0; k < test.length; ++k) {
var div = document.createElement("div");
div.className = "grid " + gridwm[i];
var span = document.createElement("span");
span.className = wm[j] + " " + test[k];
div.appendChild(span);
span.appendChild(document.createElement("abs1"));
span.appendChild(document.createElement("abs2"));
span.appendChild(document.createElement("abs3"));
span.appendChild(document.createElement("abs4"));
document.body.appendChild(div)
}
if (j % 2 == 1) document.body.appendChild(document.createElement("separator"));
}
}
</script>
</body>
</html>
|