2014-10-13 4 views
5

मैं अपने पृष्ठ पर अख़बार जैसी कॉलम बनाने की कोशिश कर रहा हूं। हालांकि, मेरे पृष्ठ में टेबल हैं, और आईई, क्रोम, सफारी और ओपेरा में, तालिका को दो अलग-अलग कॉलम में विभाजित किया जा रहा है; यह वह व्यवहार नहीं है जिसे मैं चाहता हूं। जहां एक टेबल है, मैं इसे पूरी तरह से एक कॉलम में रखना चाहता हूं। यहाँ कुछ कोड है:सीएसएस कॉलम-गिनती मेरी तालिका को दो अलग-अलग कॉलम में विभाजित करती है

.newspaper { 
 
    -webkit-column-count: 2; /* Chrome, Safari, Opera */ 
 
    -moz-column-count: 2; /* Firefox */ 
 
    column-count: 2; 
 
    -webkit-column-gap: 5px; /* Chrome, Safari, Opera */ 
 
    -moz-column-gap: 5px; /* Firefox */ 
 
    column-gap: 5px; 
 
}
<div class="newspaper"> 
 
    <table> 
 
    <tr><td>Table Row 1</td></tr> 
 
    <tr><td>Table Row 2</td></tr> 
 
    <tr><td>Table Row 3</td></tr> 
 
    <tr><td>Table Row 4</td></tr> 
 
    </table> 
 
    <p>Paragraph</p> 
 
</div>

इसके साथ समस्या और बेला को देखने के लिए एक आसान तरीका है क्रोम का उपयोग करें और http://www.w3schools.com/css/tryit.asp?filename=trycss3_column-gap के पास जाकर मेरा साथ अपने उदाहरण में कोड पर पेस्ट करना है। यदि आप फ़ायरफ़ॉक्स का प्रयास करते हैं तो आप देखेंगे कि तालिका पूरी तरह से बाएं कॉलम में रहती है।

+0

तो, तुम क्या चाहते हो बाईं और दाईं तरफ पैराग्राफ पर अपनी मेज है, है ना> –

+0

हाँ, लेकिन कॉलम-गिनती का उपयोग करने का कारण यह है कि मेरा पृष्ठ गतिशील है, और मैं हमेशा इसे न्यूनतम लंबवत स्थान लेना चाहता हूं। तालिका के ऊपर भी एक पैराग्राफ हो सकता है, और मुझे नहीं पता कि कौन सा लंबा होगा, इसलिए मैं पेज लेआउट में कॉलम-गिनती का उपयोग कर रहा हूं, लेकिन मैं नहीं चाहता कि तालिका दो अलग-अलग कॉलम में विभाजित हो। –

+0

मुझे यकीन है कि मेरे उत्तर के साथ। लेकिन आपके पास बहुत सारे अनुच्छेद होना चाहिए। यह ठीक काम करेगा। –

उत्तर

4

अपनी तालिका में column-break-inside: avoid; जोड़ें:

.newspaper { 
 
    -webkit-column-count: 2; /* Chrome, Safari, Opera */ 
 
    -moz-column-count: 2; /* Firefox */ 
 
    column-count: 2; 
 
    -webkit-column-gap: 10px; /* Chrome, Safari, Opera */ 
 
    -moz-column-gap: 10px; /* Firefox */ 
 
    column-gap: 10px; 
 
    border:dotted 1px #ccc; 
 
} 
 
.newspaper table { 
 
    -webkit-column-break-inside:avoid; 
 
    -moz-column-break-inside:avoid; 
 
    -o-column-break-inside:avoid; 
 
    -ms-column-break-inside:avoid; 
 
    column-break-inside:avoid; 
 
}
<div class="newspaper"> 
 
    <table> 
 
    <tr><td>Table Row 1</td></tr> 
 
    <tr><td>Table Row 2</td></tr> 
 
    <tr><td>Table Row 3</td></tr> 
 
    <tr><td>Table Row 4</td></tr> 
 
    </table> 
 
    <p>Paragraph</p> 
 
</div>

+1

बहुत बहुत धन्यवाद! ऐसा लगता है कि अगर मैं आपके सुझाव को थोड़ा संशोधित करता हूं और जोड़ता हूं। समाचारपत्र तालिका { -webkit-column-break-inside: से बचें; -मोज़-कॉलम-ब्रेक-इन: से बचें; -o-column-break-inside: से बचें; -ms-column-break-inside: से बचें; कॉलम-ब्रेक-इन: से बचें; } अपना उत्तर संशोधित करना चाहते हैं तो मैं इसे स्वीकार कर सकता हूं? –

+0

तालिका क्यों चाहिए? सबसे लंबा क्या है? टेबल या अनुच्छेद? परंतु। जैसा आप चाहें .. –

+0

मुझे पहले से पता नहीं है कि तालिका से पहले या बाद में सामान लंबे समय तक होगा। पृष्ठ पर कई टेबल और पैराग्राफ होंगे। मुझे इतना परवाह नहीं है कि स्तंभों के बीच पैराग्राफ विभाजित हैं या नहीं। यह सारणी है जो मुझे परेशान करती है। एक बार फिर धन्यवाद! –

0

मैं तुम सिर्फ सीएसएस हटाने 2 कॉलम नहीं करना चाहते हैं कि तुम क्या यहाँ पूरा करने के लिए कोशिश कर रहे हैं पर% नहीं 100 ...

हूँ। http://plnkr.co/edit/UtvHv0V9cydAfnO4jFwH?p=preview

यदि आप पैराग्राफ को दाईं ओर रखना चाहते हैं तो तालिका को बाएं छोड़ दें। http://plnkr.co/edit/52ly416gGmtHhAZSyrC3?p=preview

table{ 
    float:left; 
} 

p{ 
    position:relative; 
    left: 20px; 
} 
+0

आपकी रुचि के लिए धन्यवाद। मुझे निश्चित रूप से दो कॉलम चाहिए क्योंकि मैं चाहता हूं कि सामग्री पृष्ठ पर कम कमरा ले ले। मुझे पहले से पता नहीं है कि क्या मैं बाईं ओर या दाईं ओर तालिका चाहता हूं, क्योंकि पृष्ठ डायनामिक है, इसमें बहुत सारी टेबल और टेक्स्ट हैं, और इसलिए मैं पेज को स्वचालित रूप से लेआउट में कॉलम-गिनती का उपयोग कर रहा हूं समाचार पत्र कॉलम की तरह। यह ठीक तरह से काम करता है कि मैं फ़ायरफ़ॉक्स में कैसे चाहता हूं। मैं उम्मीद कर रहा था कि मैं उस तालिका में एक शैली जोड़ सकता हूं जो इसे विभाजित करने से रोकता है, जैसा कि आप पृष्ठ-ब्रेक-इन के साथ कर सकते हैं: इससे बचें, इसे सभी ब्राउज़रों में काम करने के लिए। –

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