2011-08-08 8 views
36

मैं यह नहीं समझ सकता कि सीएसएस के साथ ऐसा कैसे किया जाए। अगर मैं सिर्फ <br> टैग का उपयोग करता हूं, तो यह बेकार ढंग से काम करता है, लेकिन मैं स्पष्ट कारणों से ऐसा करने से बचने की कोशिश कर रहा हूं।नई लाइन पर एक इनलाइन तत्व कैसे दिखाना है, या ब्लॉक तत्व पूरी लाइन पर कब्जा नहीं कर सकता है?

असल में, मैं सिर्फ .feature_descspan एक नई लाइन पर शुरू करना चाहते हैं, लेकिन:

  • अगर मैं यह एक इनलाइन तत्व बनाने के लिए, यह एक लाइन ब्रेक नहीं होगा।
  • यदि मैं इसे एक ब्लॉक तत्व बना देता हूं, तो यह पूरी लाइन में फिट होगा, इन आइकनों में से प्रत्येक को अपनी लाइन पर रखेगा, और स्क्रीन पर बहुत सी जगह बर्बाद कर देगा (प्रत्येक .feature_wrapper थोड़ा अलग आकार होगा, लेकिन कोई भी कभी पूरे स्क्रीन के रूप में के रूप में व्यापक हो जाएगा)

उदाहरण कोड:। यह काम करता है, लेकिन एक br टैग का उपयोग करता:

<li class='feature_wrapper' id='feature_icon_getstart'> 
    <span style='display: none;' class='search_keywords'>started</span> 
    <span class='feature_icon spriteicon_img' id='icon-getstart'><a href='getstarted/index.html' class='overlay_link'></a></span><br/> 
    <span class='feature_desc'><a href='getstarted/index.html' >Getting Started Wizard</a></span> 
</li> 

मैं सीएसएस के साथ इस शैली एक ही परिणाम हासिल करना चाहते हैं:

<li class='feature_wrapper' id='feature_icon_getstart'> 
    <span style='display: none;' class='search_keywords'>started</span> 
    <span class='feature_icon spriteicon_img' id='icon-getstart'><a href='getstarted/index.html' class='overlay_link'></a></span> 
    <span class='feature_desc'><a href='getstarted/index.html' >Getting Started Wizard</a></span> 
</li> 

कोई विचार? या क्या मैं इस बारे में गलत तरीके से जा रहा हूं?

+0

मुझे लगता है कि आप एक चित्र या यह समझाने के लिए एक स्क्रीनशॉट बनाने की जरूरत है। –

+0

इसके लिए एक बेहतर उत्तर – Ibu

उत्तर

52

आप इसे एक संपत्ति प्रदर्शन ब्लॉक दे सकते हैं; तो यह एक div की तरह व्यवहार करेगा और अपनी स्वयं की पंक्ति है

सीएसएस:

.feature_desc { 
    display: block; 
    .... 
} 
+0

धन्यवाद के लिए [Fiddle डेमो] (http://jsfiddle.net) बनाएं! जैसा कि यह पता चला है, मुझे इनलाइन-ब्लॉक तत्व (आईई 7 की आधुनिक सीएसएस के साथ असंगतता से भी बदतर) के भीतर ब्लॉक तत्वों के काम की गलत समझ थी। – Eric

+15

उस उत्तर के लिए वर्चुअल -1 क्योंकि यह, हाँ, एक नया बना देगा रेखा, लेकिन पूरा तत्व 100% चौड़ाई का भी दावा करेगा; जो शायद नहीं चाहता था। 'ए' टैग प्रदर्शित होने पर समस्या अधिक स्पष्ट हो सकती है: ब्लॉक। यह 100% का दावा करेगा और पूरी "रेखा" तब क्लिक करने योग्य होगी, न केवल उस हिस्से को जहां वास्तविक पाठ है। –

+3

ओपी स्पष्ट रूप से कहता है कि यह वांछित व्यवहार नहीं है। – Luke

22

हालांकि सवाल काफी अस्पष्ट है और HTML स्निपेट काफी सीमित है, मुझे लगता है

.feature_desc { 
    display: block; 
} 
.feature_desc:before { 
    content: ""; 
    display: block; 
} 

हो सकता है आप चाहते हैं कि आप <br/> तत्व के बिना प्राप्त करना चाहते हैं। हालांकि यह इन तत्वों पर लागू आपके सीएसएस को देखने में मदद करेगा।

नोट। उपरोक्त उदाहरण हालांकि आई 7 में काम नहीं करता है।

+5

समझ में नहीं आता कि यह इतना कम वोट क्यों प्राप्त करता है ... यह सबसे अच्छा तरीका है (स्वीकृत उत्तर पर मेरी टिप्पणी देखें क्यों) –

+0

आप डिस्प्ले को छोड़ सकते हैं: ब्लॉक भाग, क्योंकि कोड पहले से चलने वाले तत्व को संभालता है अगली पंक्ति यह मेरे लिए काम किया। –

10

मुझे लगता है कि फ्लोट्स आपके लिए सबसे अच्छा काम कर सकते हैं, अगर आप तत्व को पूरी लाइन पर कब्जा नहीं करना चाहते हैं, तो इसे छोड़कर तैरना चाहिए।

.feature_wrapper span { 
    float: left; 
    clear: left; 
    display:inline 
} 

संपादित करें: अब ब्राउज़रों बेहतर समर्थन आप कर इनलाइन-ब्लॉक का उपयोग कर सकते है।

.feature_wrapper span { 
    display:inline-block; 
    *display:inline; *zoom:1; 
} 

टेक्स्ट-संरेखण के आधार पर यह एक ब्लॉक तत्व की तरह अभिनय करते समय इसकी इनलाइन के माध्यम से दिखाई देगा।

5

के लिए ब्लॉक तत्व पूरी लाइन पर कब्जा नहीं, सेट यह कुछ छोटे करने के लिए चौड़ाई है और white-space:nowrap

label 
{ 
    width:10px; 
    display:block; 
    white-space:nowrap; 
} 
+1

यह मेरे लिए काम करता है। हा! धन्यवाद! – user1781367

+1

यह कैसे काम करेगा? क्या आप मुझे एक ऑनलाइन डेमो दे सकते हैं? – Xieranmaya

+0

यह केवल पाठ के लिए काम करना चाहिए ... ब्लॉक तत्वों के लिए नहीं। – LucianNovo

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