JSFiddle - React, Tailwind, and code Playground

HTML

<div id="text">Что впервые его трактата о пределах добра и т.д – написание. Руку при оценке качества восприятия макета. Шрифтов, абзацев, отступов и т.д просмотра шрифтов, абзацев отступов. Знает, что такое текст-рыба lorem буквы встречаются. Сыграет на кириллический контент – написание символов на сайтах. Кириллице значительно различается написание символов на сайтах и по сей день рыбы. Лучше использовать при оценке качества восприятия макета языками, использующими латинский алфавит.</div>

CSS

#text {
    max-width: 300px;
}
#text span {
    display: inline-block;
}
#text span:nth-child(3n) {
    margin-bottom: 15px;
}

JavaScript

var $text = $('#text');
var text = $text.text();
var width = $text.width();
var words = text.split(' ');

var $span = $('<span/>');
$text.empty().append($span);

for (var i = 0, l = words.length; i < l; i++) {
    var $line = $span.clone();
    $span.append(words[i] + ' ');
    
    if ($span.width() < width) {
        $line.append(words[i] + ' ');
    }
    else {
        $text.append($line);
        $span.empty().append(words[i] + ' ');
    }
}
$span.clone().appendTo($text);
$span.remove();