2012-08-17 56 views
0

有沒有辦法在表格中的行之前強制分頁?我發現這可以通過用DIV替換表格元素來完成,但我不想這樣做,因爲這意味着要重寫很多很多文件,這可能需要一週時間。而我發現的所有其他解決方案對我來說都不起作用。有人能幫助我嗎?如何強制頁面中斷前在表內工作?

+0

您可以使用'tr:first-child {margin-top:20px}'CSS在第一個表格行之前添加一個空格。 – Jay 2012-08-17 09:29:41

+0

我不明白這可以如何幫助......:/ – 2012-08-17 10:48:14

+0

你是對的,不能在'TR'上使用它。改用表格填充。即:'table {padding-top:20px; }'或者只有一行:'table {padding-top:1em; }'。 – Jay 2012-08-17 11:09:37

回答

0
<div style="border:2px solid black; border-radius:10px; width:100%; margin-left:auto; margin-right:auto"> 
<table width="100%" align="center" style="table-layout: fixed; border:1px solid transparent;"> 
<? 
while($row = $result->fetch_assoc()){?> 
<tr style="background:#FFFFFF">'; 

    <td style='padding-left:5px; padding-right:5px;' width=100><? echo $row['znacka'];?></td> 
    <td style='padding-left:5px; padding-right:5px;'><? echo $row['nazev'];?></td> 
    <td style='padding-left:5px; padding-right:5px;' width=90 align=center><? echo $row['zn_zatrideni'];?></td> 
    <td style='padding-left:5px; padding-right:5px;' width=90 align=right><? echo number_format($row['mnozstvi'],2,'.',' ');?></td> 
    <td style='padding-left:5px; padding-right:5px;' width=40 align=center><? echo $row['mj'];?></td> 
    <td style='padding-left:5px; padding-right:5px;' width=100 align=right><? if($row['mnozstvi']!=0) echo number_format($row['cena']/$row['mnozstvi'],0,'.',' '); else echo '0';?></td> 
<? if($odd==true){?> 
     <td class="stred_b" width=100 align=right><? echo number_format(($row['cena_min']/1000) ,0 ,'.' ,$oddelovac_tisicu);?></td> 
     <td class="stred_g" width=100 align=right><? echo number_format(($row['cena']/1000) ,0 ,'.' ,$oddelovac_tisicu);?></td> 
     <td class="stred_r" width=100 align=right><? echo number_format(($row['cena_max']/1000) ,0 ,'.' ,$oddelovac_tisicu);?></td> 
<? } else{?> 
     <td class="svetle_b" width=100 align=right><? echo number_format(($row['cena_min']/1000) ,0 ,'.' ,$oddelovac_tisicu);?></td> 
     <td class="svetle_g" width=100 align=right><? echo number_format(($row['cena']/1000) ,0 ,'.' ,$oddelovac_tisicu);?></td> 
     <td class="svetle_r" width=100 align=right><? echo number_format(($row['cena_max']/1000) ,0 ,'.' ,$oddelovac_tisicu);?></td>   
    <?} $odd=!$odd; ?> 
</tr> 
<?}?> 
<tr> 
<th colspan=3></th><th colspan=3 align=right style="background:black; color:white" >Celková cena stupně IZ:</th> 
<th class="svetle_b" align=right><? echo number_format(($celkovaCenaMin/1000) ,0 ,'.' ,$oddelovac_tisicu);?></th> 
<th class="svetle_g" align=right><? echo number_format(($celkovaCena/1000) ,0 ,'.' ,$oddelovac_tisicu);?></th> 
<th class="svetle_r" align=right><? echo number_format(($celkovaCenaMax/1000) ,0 ,'.' ,$oddelovac_tisicu);?></th> 
</tr> 
</table> 
</div> 
<?}?>  
+0

您可以簡單地添加'TR'元素的'STYLE'屬性的'page-break-before:always'來在該元素之前放置一個分頁符。 – Jay 2012-08-17 16:25:00

+0

我已經嘗試過,但只有當這個工程,當我將它添加到TABLE元素...如果我將它添加到TR,它只是在表和表的其餘部分不間斷之前破壞一次。 – 2012-08-20 08:18:07

+0

然後嘗試在該行的第一個單元格上。例如:'#TheRow> TD:first-child {page-break-before:always;}'或'#TheRow> TH:first-child {page-break-before:always;}'。請注意,這必須在CSS中指定。 – Jay 2012-08-20 09:43:32