JSFiddle - React, Tailwind, and code Playground

HTML

<div id="test">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut velit ut turpis dapibus molestie. Sed quis lacus ante, at pellentesque sem. Duis cursus dapibus erat sollicitudin fermentum. Donec nulla lacus, malesuada a tristique pretium, faucibus sit amet mauris. Sed aliquam, turpis et consequat fringilla, nibh tortor porta massa, venenatis semper lacus justo at massa. Integer non lorem in turpis rhoncus vestibulum id vel sem. Sed accumsan elementum sem. Pellentesque id neque elit. Sed a nibh a arcu sagittis mollis. Nam condimentum egestas elit a elementum. Donec augue tellus, placerat non imperdiet id, pellentesque ut arcu. Nulla porta commodo enim, ultrices euismod nulla ultrices in.</div>

JavaScript

var div = document.getElementById("test"),
    layer = document.createElement("div"),
    text = div.innerHTML,
    lineHeight;

layer.appendChild(document.createTextNode("\u00A0"));
div.insertBefore(layer, div.firstChild);

lineHeight = layer.offsetHeight;
div.style.position = "relative";
div.style.overflow = "hidden";
div.style.color = "transparent";
layer.style.position = "absolute";
layer.style.zIndex = "-1";

window.addEventListener("resize", (function highlight() {
    while (layer.firstChild) {
        layer.removeChild(layer.firstChild);
    }
    
    for (var i = 0, n = Math.ceil(div.offsetHeight / lineHeight); i < n; i++) {
        var line = document.createElement("div"),
            block = document.createElement("div");
        
        line.style.height = lineHeight + "px";
        line.style.color = i % 2 ? "#ccc" : "#aaa";
        line.style.overflow = "hidden";
        
        block.innerHTML = text;
        block.style.marginTop = -i * lineHeight + "px";
        
        line.appendChild(block);
        layer.appendChild(line);
    }
    return highlight;
})(), false);