blob: 92cd7bdcf68094a41327782864805eb1fde52194 (
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
|
<!DOCTYPE html>
<style>
body {
font-family: courier new, courier, monospace;
line-height: 1;
}
div {
width: 120px;
float: left;
}
span {
display: inline-block;
height: 1em;
}
span.a {
background: red;
}
span.b {
position: relative;
top: -1em;
height: 1em;
background: lightgreen;
}
</style>
<p>No red should appear at the tips of the rectangles:</p>
<script>
for (var i = 10; i <= 16; i++) {
var div = document.createElement("div");
div.style.fontSize = i + "px";
document.body.appendChild(div);
for (var j = 1; j <= 10; j++) {
// create a red span with width specified in 'ch' units
var a = document.createElement("span");
a.className = "a";
a.style.width = j + "ch";
a.textContent = "\xA0";
div.appendChild(a);
div.appendChild(document.createElement("br"));
// overlay it with a green span containing the equivalent number of chars
var b = document.createElement("span");
b.className = "b";
b.textContent = "\xA0".repeat(j);
div.appendChild(b);
div.appendChild(document.createElement("br"));
}
for (var j = 1; j <= 10; j++) {
// create a red span containing a specific number of chars
var a = document.createElement("span");
a.className = "a";
a.textContent = "\xA0".repeat(j);
div.appendChild(a);
div.appendChild(document.createElement("br"));
// overlay it with a green span with width specified in 'ch' units
var b = document.createElement("span");
b.className = "b";
b.style.width = j + "ch";
b.textContent = "\xA0";
div.appendChild(b);
div.appendChild(document.createElement("br"));
}
}
</script>
|