簡體   English   中英

解決頁面突破問題:避免

[英]Work around for page-break-inside:avoid

我正在打印一些東西。 我有一個動態頁面,其中包含可變數量的塊級元素。 有些可能是1行,有些可能是100多行。

<div class='myclass'><span id="id1">1</span>text 1 line....</span></div>
<div class='myclass'><span id="id2">2</span>text 10 lines....</span></div>
<div class='myclass'><span id="id3">3</span>text 3 lines....</span></div>
<div class='myclass'><span id="id4">4</span>text 100+ lines....</span></div>
...

我知道頁面突破里面:避免; 當它實現時(僅在嚴格的html模式下由Opera,Chrome和IE7 +支持)假設阻止塊級元素包裝在2頁左右。 由於這個css標簽不支持跨瀏覽器,我想知道是否有任何解決方法呢?

我試圖使用jquery,post rendering,並測量每頁的每個元素,加上高度,當最后一個元素加起來大於頁面高度時,我添加一個page-break-before:always to那個元素,但只有當我假定某個頁面大小時才能工作,這絕不是一個好的假設。

sudo code only
document.ready(function(){
  var pagesize = 100;
  var currentheight;
  $('.myclass').each(function(){
    if (currentheight + this.getHeight() > pagesize || this.getHeight > pagesize) {
      this.css('page-break-before', 'always');
      currentheight = this.getHeight() % pagesize;
    }
  });
});

而且我不想只是在每個元素之前添加page-break-before / after:always因為在單個頁面上有1個襯墊是沒有意義的。

試試.myclass{page-break-before: auto;}

.keep-together {
        page-break-inside: avoid;
   }

添加你的風格。 然后在每個部分添加keep-together類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM