2010-08-27 11 views
6

मुझे वर्तमान में एक दिलचस्प सीएसएस समस्या का सामना करना पड़ रहा है जिसके लिए मुझे वेब पर कुछ भी नहीं मिला। मुझे पता है कि यह हल करने योग्य होना चाहिए, शायद आप अखरोट को तोड़ते हैं .. (?)सीएसएस - तत्वों की फ़्लोटिंग "रिवर्स" - उन्हें नीचे कैसे रखें?

निम्नलिखित समस्या: मुझे नीचे बाईं ओर स्थित एक छवि के सामने कुछ आइकन प्रदर्शित करने की आवश्यकता है। चूंकि आइकन की संख्या भिन्न हो सकती है, इसलिए आइकन एक दूसरे के बगल में तैरते हैं (अधिकतम तीन पंक्ति - चौड़ाई गुणों द्वारा परिभाषित)।

.labels { position: absolute; bottom: 20px; left: 5px; z-index: 50; } 
.labels ul { display: block; min-height: 20px; overflow: auto; width:210px; } 
.labels ul li { float: left; list-style-type: none; margin: 0 5px 3px 0; } 

आप एक तस्वीर प्राप्त करने के लिए:

<div class="labels"> 
<ul> 
    <li><img src="image1.png" /></li> 
    <li><img src="image1.png" /></li> 
    <li><img src="image1.png" /></li> 
    <li><img src="image1.png" /></li> 
    <li><img src="image1.png" /></li> 
</ul> 

और संबंधित सीएसएस:

यहाँ मेरी HTML कोड (div आइकन वाले एक छवि पर पूर्ण स्थिति में है) है यह कैसा दिखता है और लक्ष्य क्या है मैंने इसे आपके लिए खरोंच कर दिया है: यहां देखें (मुझे छवियां अपलोड करने की अनुमति नहीं है ..): link text

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

कोई विचार यह कैसे हल करें? किसी भी सहायताको बहुत सराहा जाएगा!!

+0

बहुत ही रोचक सवाल। मैं निश्चित रूप से एक सुरुचिपूर्ण समाधान खोजने की प्रक्रिया में हूँ। –

उत्तर

1

मुझे डर है कि इसे पूरा करने के लिए कोई शुद्ध सीएसएस तरीका नहीं है। सिद्धांत में दस्तावेज़ लेआउट के रूप में फ़्लोटिंग हमेशा ऊपर से नीचे चला जाता है।

आप अपने लिए मार्कअप के इस टुकड़े को उत्पन्न करने के लिए कुछ सहायक विधि लिख सकते हैं। ब्लॉक-रिवर्स ऑर्डर में सूची आइटम भरें और कुछ खाली आइटम डालें। वैकल्पिक रूप से, कई सूचियों को एक दूसरे के नीचे प्रस्तुत करें।

2

आप इस प्रभाव को केवल सीएसएस से प्राप्त नहीं कर सकते क्योंकि यह फ़्लोटिंग नियमों के खिलाफ है।

खाली <li> खाली करने के लिए आप क्या कर सकते हैं, चलिए इसे 'स्पेसर' कहते हैं जो पहली पंक्ति में तीसरे आइकन की जगह भर देगा और शेष सामग्री को नीचे दबाएगा।

अन्यथा - आपको अपने <ul> को 2 सूचियों में विभाजित करना होगा, और फिर सबकुछ संरेखित करना होगा।

0

एचएम .. यह एक पिटी है - लेकिन अच्छे संकेतों और इसके बारे में आपके विचारों के लिए धन्यवाद।

मैं जाउंगा और जांच करूँगा कि मैं इसे खाली वस्तुओं के साथ संभाल सकता हूं (जो मेरे दृष्टिकोण में है, सबसे अच्छा तरीका नहीं है), या अतिरिक्त सूचियां जो मैं एक दूसरे के शीर्ष पर एक करके रखती हूं । लेकिन दूसरी बात कड़ी मेहनत के साथ ही सूचियों को पूरी तरह से तैनात करने की जरूरत है!

धन्यवाद दोस्तों।

0
display: flex; 
flex-direction: row-reverse; 

मुझे लगता है कि इससे मदद मिलेगी।

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