2016-04-09 49 views
8

Tôi đã phát xung quanh với page-break-inside:auto, page-break-inside:avoid, page-break-after:auto, margin-top and margin-bottom và những người khác trong một thời gian dài, nhưng vẫn không thể tìm thấy giải pháp cách phá vỡ các hàng trong bảng HTML dài của tôi, được in.HTML, CSS - Ngắt dòng cho bảng dài cần sửa chữa

trang trông giống như ảnh chụp màn hình bên trái trong chế độ in (hoặc cửa sổ xem trước trước khi in trong Chrome):

enter image description here

Tất cả tôi cần phải đạt được là để phá vỡ mọi hàng ở dưới cùng của mỗi trang, mà sẽ được chia trên hai trang (và nội dung của nó quá ..)

Đây là một đoạn mã của trang web của tôi:

... 
<style> 
table, th, td { 
    border: 1px solid black; 
    border-collapse: collapse; 
} 
td { padding-left: 15px; padding-right: 15px; } 
@media print{ 
    .netisk{ 
     visibility: hidden; 
    } 
} 
@page{ 
    size: 21cm 29.7cm; 
    margin: 0px; 
} 
body { 
    margin-left: 1cm; 
    margin-right: 1cm; 
} 
</style> 
... 
... 
... 
<?php 

    echo "<table cellspacing='0'><thead><tr><th> ID </th><th> Název projektu </th><th> Kategorie </th><th> Autor </th><th> Třída </th><th> Rok </th><th> Vedoucí práce </th></tr></thead><tbody>"; 

if (mysql_num_rows($result) > 0) { 
    while($row = mysql_fetch_assoc($result)) { 
     echo "<tr><td>" . $row["id"]. "</td><td>" . $row["nazev_projektu"]. "</td><td>" . $row["kategorie"]. "</td><td>" . $row["autor"]. "</td><td>" . $row["trida"]. "</td><td>" . $row["rok"]. "</td><td>" . $row["vedouci_prace"]. "</td></tr>"; 
    } 
} 
    echo "</tbody></table>"; 

    mysql_close($mysql_conn); 

?> 
... 
... 

Trang ở đây: http://student.spsbv.cz/krolop.el12a/mproj/components/tisk.php

Như bạn có thể thấy, bảng của tôi "phát triển" tự động tùy thuộc vào số lượng dữ liệu trong cơ sở dữ liệu MySQL của tôi, do đó khó có thể gán một hàng cụ thể nên bị hỏng.

Cách giải quyết vấn đề này?

EDIT: Giải pháp đã cho (How to apply CSS page-break to print a table with lots of rows?) không khắc phục được sự cố của tôi, có cách nào khác (sử dụng HTML và CSS) không?

+0

Bản sao có thể có của [Cách áp dụng ngắt trang CSS để in bảng có nhiều hàng?] (Http://stackoverflow.com/questions/8712677/how-to-apply-css -01-break-to-print-a-table-với-nhiều-of-hàng) – Aziz

+0

Aziz: Có lẽ tôi đã hỏi một câu hỏi tương tự, nhưng tôi duyệt cho nhiều giải pháp, đang sử dụng cùng một bộ chọn CSS, nhưng không có sự thành công. –

Trả lời

0

tôi đã thay đổi một quy tắc trong stylesheet của bạn, nó hoạt động như vậy, ít nhất là ở đây trên Firefox:

@page { 
    size: 18cm 26.7cm; 
    margin: 1.5cm; 
} 

Vì vậy, tôi đã xác định lợi nhuận tính bằng cm và trừ những từ kích thước trang. In ra tốt ...

+0

Cảm ơn lời khuyên của bạn, nhưng nó không phải là giải pháp tốt nhất - trang nhỏ hơn và hàng cuối cùng trên trang cũng được chia. –

+0

Johannes: http://i.share.pho.to/6ab0c5d2_l.jpeg –

+0

Có cách nào hay không, cách sử dụng thuộc tính page-break - **** trong trường hợp này, để giải quyết vấn đề của tôi như thế nào? Tôi đã thử rằng trong nhiều kết hợp, nhưng không ảnh hưởng đến việc phá vỡ. –

Các vấn đề liên quan