2010-08-03 15 views
6

को देखते हुए एक2-कॉलम ऑटो-लेआउट सीएसएस द्वारा?

<div> 
Lorem ipsum dolor sit amet, consectetur adipiscing... 
</div> 

स्वचालित रूप से एक 2 या 3 कॉलम लेआउट उत्पन्न करने के लिए सीएसएस के साथ यह संभव है, कंटेनर की ऊंचाई निर्दिष्ट करके कहते हैं? यदि नहीं, ऐसे मामले में सर्वोत्तम प्रथाएं क्या हैं?

आपकी मदद के लिए धन्यवाद।

उत्तर

3

मेरे पिछले उत्तर पर टिप्पणियों को देखते हुए, ऐसा लगता है कि मैंने जो भी खोजा था उसे गलत समझा होगा।

आप पाठ स्वचालित रूप से एक स्तंभ से दूसरे में प्रदर्शित करना चाहते हों, तो आपके विकल्प हैं:

  • CSS 3 Multi-columns (खराब समर्थित)
  • जावास्क्रिप्ट (दिलचस्प पुनर्प्रवाहित मुद्दों)

व्यक्तिगत रूप से, मैं इससे बचेंगे। आम तौर पर, एक कॉलम से अगले तक बहती सामग्री काफी स्क्रीन-मीडिया-असभ्य है।

+0

के लिए आपकी इच्छा को इंगित करने के लिए पोस्ट और ध्यान में रखते हुए कि CSS3 अभी भी व्यापक रूप से उपयोग नहीं किया गया है जैसा कि हम सोचना चाहते हैं। आपके अधिकांश इंटरनेट बाजार अभी भी पुराने ब्राउज़र का उपयोग कर रहे हैं। सावधान रहे। – SimonDowdles

+0

इसलिए "खराब समर्थन" – Quentin

+0

भयानक, धन्यवाद डेविड। अब अगर मैं केवल इसे ऊपर उठा सकता हूं। बहुत कम प्रतिष्ठा :( – Michael

0

Floatutorial website में सर्वोत्तम अभ्यास का अच्छा उदाहरण है।

+0

वे स्पष्ट रूप से पृष्ठ है, जहाँ दूसरे स्तंभ शुरू करनी चाहिए टूट गया। दुर्भाग्यवश :( – Michael

2

आप सबसे निश्चित रूप से एक 2 या 3 कॉलम लेआउट में ऊपर यदि आप एक कंटेनर और 3 divs, एक 3 कॉलम लेआउट बनाने के लिए इस रूप में सरल किया जाएगा था चालू नहीं कर सके, हालांकि:

<div class="container"> 

    <div class="col1">Column1</div> 
    <div class="col2">Column2</div> 
    <div class="col3">Column3</div> 

</div> 

और सीएसएस:

.container{overflow:hidden; padding:20px; border:1px solid #ccc;} 
.col1, .col2, .col3{width:200px;float:left;clear:none;margin:0 10px 0 10px;} 

यह प्रत्येक पक्ष पर मार्जिन का 10px होने प्रत्येक स्तंभ के साथ एक बहुत ही बुनियादी 3 कॉलम लेआउट पैदा करेगा। कंटेनर div में 20px पैडिंग और सूक्ष्म सीमा है।

आशा है कि यह आपको सही दिशा में इंगित करे।

+0

आपको क्या सुनिश्चित करता है कि ऐसा करने का कोई तरीका नहीं है? जब आपके पास लंबे ग्रंथ हैं, तो पृष्ठ को तोड़ने को स्वचालित करना अच्छा होगा। लेकिन आपकी सहायता की अत्यधिक सराहना की गई है +1 अपवोट – Michael

+0

मेरी अपॉल्गीज, मुझे गलत समझा गया सवाल तब, मेरा मतलब था कि आप एक एकल डीवी को 3 कॉल लेआउट में नहीं बदल सकते हैं जब तक कि आपके पास स्पैन या कोई अन्य ब्लॉक तत्व नहीं था, जिसमें आप सीएसएस के माध्यम से छेड़छाड़ कर सकते हैं। – SimonDowdles

+0

और मुझे लगता है कि आप PHP (या अन्य भाषा) को विभाजित करने के लिए उपयोग कर सकते हैं भाग में टेक्स्ट (उपयोगकर्ता परिभाषित शब्द लंबाई पर) फिर divs डालें, उन्हें कॉलम के रूप में स्टाइल करें और टेक्स्ट को प्रतिस्थापित करें, सब कुछ सर्वर की ओर। लेकिन मैं आपको आश्वस्त करता हूं कि यह छोटा हो जाएगा। – SimonDowdles

1

बात मैं एक ग्रिड प्रणाली का उपयोग करते हुए देखेंगे के इस प्रकार के लिए इस तरह के रूप 960 या YUI

दोनों स्तंभों में उपखंड विभाजित करने के लिए तरीके शामिल हैं।

+0

मैंने जल्दी से दोनों के माध्यम से स्किम किया है, लेकिन अभी तक स्पष्ट संदर्भ नहीं मिला है। बस सुनिश्चित करने के लिए : आप इसे इनपुट के रूप में एक पाठ देते हैं (यह निर्दिष्ट किए बिना कि इसे कहां तोड़ना चाहिए), और यह आपको आउटपुट के रूप में 2-कॉलम लेआउट देता है? – Michael

+0

ग्रेट सुझाव, मैं अक्सर 960 ग्रिड सिस्टम का उपयोग करता हूं, और मेयरवेब (http://meyerweb.com/eric/tools/css/reset/) द्वारा सीएसएस रीसेट के साथ मिलकर, आप गलत नहीं जा सकते हैं, यहां तक ​​कि आईई 6 आपको भी स्वागत करता है खुले बाहों से! – SimonDowdles

+0

@ माइकल नं, आपको अभी भी अपने मार्कअप में कॉलम को मैन्युअल रूप से परिभाषित करना है जैसे

जो पांच ग्रिड चौड़े फैलाता है, आप 12 ग्रिड, 18, 24 आदि – SimonDowdles

3

तुम हमेशा jQuery दृष्टिकोण ले जा सकते हैं, इस लेख को देखो: http://www.mainelydesign.com/blog/view/auto-columns-columnizer-my-new-favorite-jquery-plugin

+0

ग्रेट प्लगइन। वास्तविक प्लगइन साइट का लिंक http: //welcome.totheinter है। नेट/कॉलमाइज़र-jquery-plugin/ –

+0

कभी भी सबसे अच्छा कॉलम प्लगइन। –

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