2011-02-24 14 views
5

मैं अगली पंक्ति में एक-दूसरे के बगल में टॉव divs की एक पंक्ति प्रदर्शित करना चाहता हूं, अगला div सीधे अंतिम के नीचे बैठता है। इस तरह:स्थिति एक दूसरे के नीचे सीधे चलने वाले तत्व

enter image description here

क्योंकि लेआउट एक सीएमएस में बनाया जाना है, मुझे नहीं बॉक्स 1,3 और 2,4 एक separat div में डाल सकते हैं। अतिरिक्त लपेटने वाले तत्वों के बिना इस तरह के व्यवहार को प्राप्त करने का कोई तरीका है? (सामान्य फ्लोट व्यवहार काम नहीं करता है, इनलाइन/इनलाइन-ब्लॉक प्रदर्शित करता है यह चाल भी नहीं करता है।) या कुछ जावास्क्रिप्ट को इस तरह का लेआउट बनाने की आवश्यकता है?

उत्तर

7

विभिन्न ऊंचाइयों की वजह से, यह ऐसी समस्या की तरह दिखता है जहां मुझे अभी भी वास्तव में कठिन की कोशिश करने के बावजूद इसे ठीक से संभालने के लिए सामान्य उद्देश्य शुद्ध सीएसएस तकनीक नहीं मिली है।

मैं इस उत्तर भेजा है से पहले: css alignment question

मैं छोड़ दिया और कुछ समान के लिए एक jQuery प्लगइन इस्तेमाल किया अतीत में यह करने के लिए किया है:

jQuery Masonry

एक तस्वीर हजारों शब्दों के लायक है:

enter image description here

+0

+1 ऐसा लगता है कि कोई शुद्ध सीएसएस समाधान नहीं है – Sotiris

+0

बढ़िया काम करता है! असल में बस मैं जिस चीज की तलाश में था! एक दयालुता मैंने पुरानी पोस्ट नहीं की, लेकिन इसे फिर से पोस्ट करने के लिए धन्यवाद। – wowpatrick

6

आप nth-child(odd) से clearfloat:left; का उपयोग कर सकते हैं।

सीएसएस

.box {height:100px;width:100px;float:left;} 
.box:nth-child(odd) {clear:left;} 
.green {background:green;} 
.red{background:red;} 
.blue {background:blue;} 
.yellow {background:yellow;} 

एचटीएमएल

<div class="box green">BOX 1</div> 
<div class="box red">BOX 2</div> 
<div class="box blue">BOX 3</div> 
<div class="box yellow">BOX 4</div> 

डेमो:http://jsfiddle.net/YSP2S/

ध्यान रखें कि यह इंटरनेट एक्सप्लोरर के लिए काम नहीं करेगी। आप इंटरनेट एक्सप्लोरर के लिए इसे प्राप्त करने के लिए conditional comment और जावास्क्रिप्ट का भी उपयोग कर सकते हैं।

+0

+1, ठीक काम करता है, जब तक उसकी ऊंचाई * अलग नहीं होती (जैसे वे अपनी तस्वीर में हैं)। – thirtydot

+0

@ थर्डडॉट आप सही हैं। एचएम, अन्यथा मुझे कोई शुद्ध सीएसएस समाधान मौजूद नहीं लगता है, जैसा कि आपने सुझाव दिया है, केवल एक जावास्क्रिप्ट। – Sotiris

+0

समस्या यह है कि बक्से की ऊंचाई _are_ अलग है, क्योंकि वे पाठ के साथ पोस्ट पूर्वावलोकन हैं, और टेक्स्ट हमेशा लंबाई में भिन्न होता है, ऐसा लगता है कि मुझे जावास्क्रिप्ट/jQuery का उपयोग तीसरे सुझाव के रूप में करना होगा ... लेकिन अभी भी सहायक , धन्यवाद! और मैंने अभी तक jsfiddle.net नहीं देखा है, कोड उदाहरण साझा करने के लिए बहुत अच्छा लग रहा है! – wowpatrick

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