2

我试图找到答案很长时间,但我没有找到任何东西。

我正在使用 contentEditable div 在 210x297mm 页面上准确编写文本。当页面结束时 javascript 添加下一个:

if(container.scrollHeight > container.clientHeight)
{
    page_number = page_number+1
    $('#editor').append('<div id="page_'+page_number+'" class="page" onkeyup="javascript:check_page(this);" contentEditable></div><div class="marginbottom"></div>');
    $("#page_"+page_number).attr("tabindex",-1).focus();
}

一切正常,除非我在每页末尾的 div 中粘贴任何更长的文本。然后只有文本的一部分出现,其余部分在 div 之外(并且由于“溢出:隐藏”是不可见的)。

是否有任何 javascript/jquery 方法来检测溢出的内容并将其移动到下一页(我没有找到)或任何允许我分隔每个 div 内的文本的 CSS 样式?我读过 CSS3 多列,我需要做类似的操作,但分隔行,而不是列。

4

1 回答 1

1

我认为你最好的选择是不使用overflow: hidden但是auto并尝试通过检查滚动高度来检测是否存在溢出。

在这种情况下,您可以动态地开始移动部分文本(可能是逐字移动),直到内容适合可用空间。

对于一些具体的技术检查这个线程例如:detect elements overflow using jquery

于 2012-09-17T19:10:17.433 回答