Я хочу разбивать текст на несколько div, чтобы он соответствовал разрешенной области 
Логика довольно проста: 
1. Разделить текст на слова 
2. добавить слово в слово и вычислить высоту элемента 
3. если мы превысим высоту - создаем следующую страницу
Это работает неплохо 
вот функция JS, которую я использовал:
function paginate() {
    var newPage = $('<pre class="text-page" />');
    contentBox.empty().append(newPage);
    var betterPageText='';
    var pageNum = 0;
    var isNewPage = false;
    var lineHeight = parseInt(contentBox.css('line-height'), 10);
    var wantedHeight = contentBox.height() - lineHeight;
    for (var i = 0; i < words.length; i++) {        
        if (isNewPage) {
            isNewPage = false;
        } else {            
            betterPageText = betterPageText + ' ' + words[i];
        }
        newPage.text(betterPageText + ' ...');
        if (newPage.height() >= wantedHeight) {
            pageNum++;
            if (pageNum > 0) {
                betterPageText = betterPageText + ' ...';
            }
            newPage.text(betterPageText);
            newPage.clone().insertBefore(newPage)            
            betterPageText = '...';
            isNewPage = true;
        } else {            
            newPage.text(betterPageText);
        }        
    }
    contentBox.craftyslide({ height: wantedHeight });
}
Но когда я добавляю изображение, он разбивает все. В этом случае текст переполняет "зеленую" область.
 
Рабочий скрипт: http://jsfiddle.net/74W4N/7/
Есть ли лучший способ разбивать текст на страницы и вычислять высоту элемента?
