2011-11-02 12 views
7

मैं फ़ायरफ़ॉक्स में पृष्ठ में स्क्रीन प्रिंट करते समय प्रत्येक पृष्ठ पर एक शीर्षलेख मुद्रित करने के लिए @media का उपयोग कर रहा हूं। मैं अपने सीएसएस इस तरह की स्थापना की है:@media प्रिंट div: शीर्षलेख पर ओवरलैपिंग पृष्ठ टेक्स्ट को कैसे हल करें?

@media print { 
    div.printDivHeader { 
    font-family: Arial, Helvetica, sans-serif; 
    font-size: 1.0em; 
    position: fixed; 
    display: block; 
    width: 100%; 
    height: auto; 
    top: 0; 
    } 
} 

समस्या दूसरे पृष्ठ की सामग्री प्रिंट div हैडर के साथ ओवरलैप हो रहा है। (यानी, दूसरे पृष्ठ पर, हेडर पेज सामग्री को नीचे मजबूर नहीं करता है, और इसलिए मुझे पाठ पर लिखे गए पाठ मिलते हैं)। क्या इसे संभालने का कोई तरीका है?

+0

हम एचटीएमएल और कहा कि दूसरे पेज के सीएसएस की आवश्यकता होगी, धन्यवाद – GregM

+0

वैसे, मुझे यकीन है कि आप जानते हैं नहीं कर रहा हूँ बल्कि Firefox के वर्तमान संस्करण एक मुद्रण पूर्वावलोकन समारोह है। इसके बिना, किसी को या तो पीडीएफ को मुद्रित करना होगा या कागज पर प्रिंट करना होगा ... दोनों बोझिल विकल्प। – ANeves

उत्तर

1

position: fixed; के साथ कुछ स्थिर (या सापेक्ष) सामग्री को कभी भी धक्का नहीं देता है। या तो यह सुनिश्चित करने के लिए स्टाइल है कि वे ओवरलैप नहीं करते हैं ... या वे ओवरलैप करते हैं।
this example JSFiddle देखें, जो आपके सीएसएस का उपयोग करता है।

समस्या कहीं और है।
हेडर पहले पृष्ठ में टेक्स्ट के साथ ओवरलैप नहीं करता है? क्या आपके पास पाठ को धक्का देने वाला कुछ है? मार्जिन टॉप? क्या?

क्या मूल या सरलीकृत उदाहरण साझा करना संभव है? (आप JSFiddle उपयोग कर सकते हैं।)

+1

समस्या यह है कि यदि मैं स्थिति का उपयोग नहीं करता हूं: तय किया गया हैडर प्रत्येक पृष्ठ पर दिखाई नहीं देगा – MTR

+0

(क्या आप इस टिप्पणी को @Augus 'उत्तर पर पोस्ट करना चाहते थे?) हाँ, मैं समझता हूं। मेरे दृष्टिकोण से समस्या यह है: कुछ पहले पृष्ठ की सामग्री को दबा रहा है, लेकिन अन्य पृष्ठों की सामग्री नहीं; कि कुछ हेडर नहीं है; इस प्रकार हेडर में कोई भी बदलाव मदद नहीं करेगा, और हमें यह देखना चाहिए कि प्रभाव और क्या कर रहा है। – ANeves

+0

पहले पृष्ठ पर ओवरलैप होने पर शीर्ष पर पर्याप्त पैडिंग वाला एच 2 तत्व होता है। साथ ही, ऐसा लगता है कि जब मैं ऐसा करता हूं: @media प्रिंट { div.printDivHeader { फ़ॉन्ट-फ़ैमिली: एरियल, हेल्वेटिका, संस-सेरिफ़; फ़ॉन्ट-आकार: 1।0em; स्थिति: निश्चित; प्रदर्शन: ब्लॉक; चौड़ाई: 100%; ऊंचाई: ऑटो; शीर्ष: 0; } @page { मार्जिन: 1 सेमी; मार्जिन-टॉप: 5 सेमी; } }/* सभी मार्जिन 2 सेमी */ पर सेट ... यह पहले पृष्ठ (अपेक्षित के रूप में मार्जिन) के लिए ठीक काम करता है लेकिन बाद के पृष्ठों के लिए नहीं। – MTR

1

Uhm मुझे लगता है कि अपने

position:relative 
बजाय

position:fixed 
3

का उपयोग करना चाहिए अपने हैडर मीडिया शासन को यह करें: सामग्री के लिए क्रम में bottom:3em; 3em संशोधित फिट करने के लिए।

div.printDivContent { 
    position: relative; 
    width: 100%; 
    top:3em; //match size of header 
    left:0px; 
    right:0px; 
} 
2

सीएसएस कुंजी "बॉक्स-सजावट-तोड़" "क्लोन" करने के लिए सेट जब मदद मिलेगी:

फिर अपने सामग्री क्षेत्र के लिए शासन के लिए एक अलग div चयनकर्ता जोड़ें। देखें: CSS Fragmentation

आप एक मार्जिन शीर्ष पर और अपने शीर्ष लेख और पाद के आकार में नीचे के साथ अपनी सामग्री के चारों ओर एक कंटेनर वर्ग बना सकते हैं और फिर इस कंटेनर पर "क्लोन" बॉक्स-सजावट-ब्रेक निर्धारित किया है।

#content { 
    box-decoration-break: clone; 
    margin-bottom: 90px; 
} 
संबंधित मुद्दे