HTML: <!doctype html> white-space: pre-wrap; <style> #text { max-width: 20%} </style> <div id=text> Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium nemo dolores debitis, maxime quia ipsum quasi officiis id libero tenetur autem similique iure itaque optio quis beatae minima! Libero, eaque! </div> <script> const createLines = (el, l, lines = [], i = 0) => { const content = el.textContent.split(""); (clone = el.cloneNode(true)).innerHTML = "foo"; document.body.append(clone); const oneLineHeight = clone.scrollHeight; while (i < content.length) { let oneLine = clone.innerHTML = ""; while (i < content.length && clone.scrollHeight <= oneLineHeight) clone.innerHTML = oneLine += content[i++]; lines.push(content.splice(0, i == content.length ? i : oneLine.lastIndexOf(" ")).join("")); i = 0; } clone.remove(); console.log(lines[l]); }; createLines(text, 2); window.onresize = _ => createLines(text, 2); </script> Кто может выполнить проще, что нибудь убрать из кода, упростить. Сделать так, чтобы нагружала как можно меньше пользовательский процессор. В консоль выводит весь текст, что содержит необходимая строка. В данном случаи указываем 2, получаем текст из третей строчки. А задача в целом в том, чтобы узнать длину третьей строчки, не количество символов, а именно длину. В дальнейшем полученный текст оборачиваем в span, добавляем блок и получаем ширину строчки в px.