2016-04-09 7 views
8

मैंने page-break-inside:auto, page-break-inside:avoid, page-break-after:auto, margin-top and margin-bottom और अन्य लोगों के साथ काफी समय तक खेला, लेकिन अभी भी एक समाधान नहीं मिल रहा है कि मेरी लंबी HTML तालिका में पंक्तियों को कैसे तोड़ना है, जिसका मतलब है मुद्रित किया जाना चाहिए।एचटीएमएल, सीएसएस - लंबी तालिका के लिए पंक्ति ब्रेक को एक फिक्स की आवश्यकता है

पृष्ठ (क्रोम में मुद्रण से पहले या पूर्वावलोकन विंडो) मुद्रण मोड में छोड़ दिया स्क्रीनशॉट की तरह दिखता है:

enter image description here

सभी मैं प्राप्त करने की आवश्यकता प्रत्येक पृष्ठ, के निचले भाग में प्रत्येक पंक्ति को तोड़ने के लिए है जो दो पृष्ठों पर विभाजित किया जा रहा है (और उसकी सामग्री भी ..)

यह मेरे पृष्ठ का कोड का एक टुकड़ा है:

... 
<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); 

?> 
... 
... 

पेज यहां है: http://student.spsbv.cz/krolop.el12a/mproj/components/tisk.php

जैसा कि आप देख सकते हैं, एक समस्या है, कि मेरी तालिका मेरे MySQL डेटाबेस में डेटा की गिनती के आधार पर गतिशील रूप से बढ़ती है, इसलिए एक विशिष्ट पंक्ति असाइन करना मुश्किल है, जहां टेबल टूटा जाना चाहिए।

इसे कैसे हल करें?

संपादित करें: दिए गए समाधान (How to apply CSS page-break to print a table with lots of rows?) ने मेरी समस्या को ठीक नहीं किया है, क्या कोई अलग तरीका है (HTML और CSS का उपयोग करके)?

+0

संभावित डुप्लिकेट [सीएसएस पेज-ब्रेक को कितनी पंक्तियों के साथ तालिका मुद्रित करने के लिए लागू करें?] (Http://stackoverflow.com/questions/8712677/how-to-apply-css -पृष्ठ-ब्रेक-टू-प्रिंट-ए-टेबल-साथ-बहुत-पंक्तियां) – Aziz

+0

अज़ीज़: शायद मैंने एक समान प्रश्न पूछा है, लेकिन मैंने कई समाधानों के लिए ब्राउज़ किया है, जो एक ही सीएसएस चयनकर्ताओं का उपयोग कर रहे हैं, लेकिन बिना सफलता। –

उत्तर

0

मैं अपने स्टाइलशीट में एक नियम बदल गया है, इसे उस तरह से काम करता है Firefox पर कम से कम यहाँ,:

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

तो मैं सेंटीमीटर में मार्जिन में परिभाषित किया और पृष्ठ आकार से उन घटाया। ठीक से मुद्रित ...

+0

आपकी टिप के लिए धन्यवाद, लेकिन यह सबसे अच्छा समाधान नहीं है - पृष्ठ छोटा है और पृष्ठ पर आखिरी पंक्ति भी विभाजित है। –

+0

जोहान्स: http://i.share.pho.to/6ab0c5d2_l.jpeg –

+0

क्या कोई तरीका है, इस समस्या को हल करने के लिए, इस मामले में **** संपत्ति का उपयोग कैसे करें? मैंने कोशिश की है कि कई संयोजनों में, लेकिन तोड़ने पर प्रभाव के बिना। –

संबंधित मुद्दे