<style>
img { width: 30px; height: 30px; background-color: red; }
.cover { position: absolute; background-color: green; opacity: 0.7; }
</style>
<div style="width: 240px;
padding-left: 260px;
background-color: lightyellow;
writing-mode: vertical-lr;
font: 40px Ahem;
color: red;
-webkit-font-smoothing: none;
">
<br>
<br>
<img id="t-0">
<ruby id="t-1">1<span id="t-2">2</span><rt id="t-3">3</rt></ruby>
<span>
<div id="t-4" style="display: inline-block; vertical-align: 40px;"><div id="t-5">5</div>4</div>
</span>
<span id="t-5">
<img id="t-6">
</span>
<span id="t-7">
7 <span id="t-8">8</span>
</span>
</div>
<script>
for (var i = 0; i < 9; ++i) {
var element = document.getElementById("t-" + i);
var clientRect = element.getClientRects()[0];
var cover = document.createElement("div");
cover.className = "cover";
cover.style.width = clientRect.width + "px";
cover.style.height = clientRect.height + "px";
cover.style.top = clientRect.top + "px";
cover.style.left = clientRect.left + "px";
document.body.appendChild(cover);
}
</script>