2012-10-03 13 views
58

मैं प्रदर्शन संपत्ति का उपयोग कर किसी अन्य तत्व के नीचे दिखाई देने के लिए एक अवधि तत्व सेट करना चाहता हूं। मैंने इनलाइन-ब्लॉक को लागू करने की कोशिश की लेकिन सफलता के बिना, और लगा कि मैं ब्लॉक का उपयोग कर सकता हूं अगर मैं किसी भी तरह से तत्व को 100% की चौड़ाई देने से बचने में कामयाब रहा (मैं नहीं चाहता कि तत्व "बाहर निकल जाए")। क्या यह किया जा सकता है, या यदि नहीं, इस तरह के मुद्दे को हल करने के लिए अच्छा प्रैक्सिस क्या है?100% चौड़ाई के बिना प्रदर्शन ब्लॉक

उदाहरण: एक खबर सूची जहाँ मैं सेट करना चाहते हैं एक प्रत्येक पोस्ट के अंत में लिंक "अधिक पढ़ सकते हैं" (ध्यान दें: <a><span> के बजाय)

<li> 
<span class="date">11/15/2012</span> 
<span class="title">Lorem ipsum dolor</span> 
<a class="read-more">Read more</a> 
</li> 


अद्यतन: हल। सीएसएस में, लागू

li { 
    clear: both; 
} 
li a { 
    display: block; 
    float: left; 
    clear: both; 
} 
+1

आप किसी भी मार्कअप मिल गया है के लिए सीमित है, check here (HTML या सीएसएस) हमें दिखाने के लिए? वास्तव में काम करने के लिए किसी भी चीज के बिना समस्या पर काम करना मुश्किल है। [Jsfiddle] (http://jsfiddle.net) पर भी एक डेमो अच्छा होगा। –

+0

सोचा कि मुझे किसी भी नमूना कोड की आवश्यकता नहीं है क्योंकि यह केवल एक अवधि तत्व की स्थिति के बारे में है। अद्यतन पोस्ट देखें। –

+0

जैसा कि मैंने नीचे बताया है, केवल कोड की केवल एक पंक्ति का उपयोग करके आप उस मार्कअप पर गंभीरता से कटौती कर सकते हैं। – ha404

उत्तर

50

मैं ठीक से अपने प्रश्न समझ रहा हूँ, तो निम्न सीएसएस फैला नीचे अपनी एक नाव और एक 100% चौड़ाई होने से यह रखना होगा: तुम सिर्फ display: block के रूप में अवधि सेट नहीं कर सकता

a { 
    display: block; 
    float: left; 
    clear: left; 
} 
+0

मैंने इसे लागू करने का प्रयास किया लेकिन चूंकि तत्व तत्व (शीर्षक और दिनांक, उदाहरण में) में फ्लोट नहीं होता है, लिंक अंतिम अवधि से पहले स्थानांतरित हो जाता है। मान लें कि एक समाधान एलआई फ्लोट में सभी बच्चे तत्वों को बनाना होगा। –

+0

यह काम करता है अगर मैं ली पैरेंट के लिए एक स्पष्टफिक्स लागू करता हूं। इस समाधान के साथ जाओ, पीजे धन्यवाद। –

+0

कोई समस्या नहीं, मदद करने में खुशी हुई! –

6

मैं अपनी ही div के लिए प्रत्येक पंक्ति रखना होगा, इसलिए ...

<div class="row"> 
    <div class="cell">Content</div> 
</div> 
<div class="row"> 
    <div class="cell">Content</div> 
</div> 

और फिर सीएसएस के लिए:

.cell{display:inline-block} 

यह मुश्किल है आप को देने के लिए आपका मूल कोड देखे बिना समाधान।

+1

धन्यवाद, लेकिन मैं किसी भी div तत्वों में मिश्रण नहीं करना पसंद करूंगा। –

+1

अच्छा समाधान! कुछ और अपवॉट होना चाहिए ... – Levit

1

और को li तत्व पर सेट करें?

+0

शीर्षक और दिनांक अवधि के कारण ली को चौड़ाई ऑटो होना चाहिए। –

4

दोबारा: एक उत्तर जो बहुत देर हो सकता है (लेकिन उन लोगों के लिए जो इस पृष्ठ को उत्तर के लिए पाते हैं)।

display:block; उपयोग display:inline-block;

1

के बजाय इस प्रयास करें:

li a { 
    width: 0px; 
    white-space:nowrap; 
} 
100

उपयोग display: table

यह उत्तर कम से कम 30 वर्ण होना चाहिए; मैंने 20 में प्रवेश किया, तो यहां कुछ और है।

+0

अच्छी तरह से काम करता है –

+7

जीनियस समाधान। 'मार्जिन: 0 ऑटो; 'अगर आपको इसे केंद्रित करना है। – Mafia

+1

मुझे लगता है कि आप कमाल हैं। – billynoah

5

आप का उपयोग कर सकते हैं:

width: max-content;

नोट: समर्थन समर्थन ब्राउज़रों की एक पूरी टूटने

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