2009-07-21 6 views
31

मुझे अपने एक स्पैन के साथ कोई समस्या है। मेरी कोड मेंसीएसएस - चौड़ाई टैग पर सम्मानित नहीं किया गया

.form_container .col1che 
{ 
float: left; 
width: 4%; 
text-align: left;  
} 

.form_container .col2che 
{ 
float: left; 
width: 80%; 
text-align:left; 
} 

.form_container .col3che 
{ 
float: right; 
width: 13%; 
text-align:right; 
} 

ये 3 फैला: निम्नलिखित शैलियों cosider कृपया

<div class="row"><!-- start: "row" --> 
    <span class="col1che">   
      <?php //some db feeds ?>   
    </span> 
    <span class="col2che"> 
      <?php //some db feeds ?> 
    </span> 
    <span class="col3che"> 
      <?php //some db feeds ?> 
    </span> 
    <div class="clear"></div> 
</div><!-- end: "row" --> 

समस्या तब होती है "COL1CHE" में प्रदर्शित करने के लिए कोई डाटा नहीं है जब वहाँ (या शायद उनमें से किसी में हालांकि मुझे यकीन नहीं है) जब कोई डेटा नहीं है तो यह अवधि "ध्वस्त हो जाती है" और इसकी चौड़ाई को सम्मानित नहीं किया जाता है। यह फ़ायरफ़ॉक्स में होता है, आईई में यह "पतन" नहीं होता है।

मैंने यह देखने के लिए एक "स्पष्ट" कक्षा शामिल की है कि यह मदद करता है लेकिन इसका कोई फायदा नहीं हुआ है।

कोई विचार?

+0

हममम, तुम लोग क्या कहते हैं सही समझ में आता है, लेकिन प्रदर्शन को जोड़ने के बाद भी किसी कारण से:, ब्लॉक यह अभी भी "गिर" हास्यास्पद अगर मैं स्तंभ वर्ग के लिए एक सीमा जोड़ने यह उचित चौड़ाई दिखाएगा भले ही कोई सामग्री न हो। लेकिन अगर कोई सामग्री नहीं है, कोई सीमा नहीं है, तो यह – chicane

+0

ओ हाँ, एक और बात है, अगर मेरे स्पैन ब्लॉक के रूप में स्थापित नहीं किए गए थे और यदि उनके भीतर सामग्री है, तो चौड़ाई शैली में ठीक तरह से स्थापित की जाती है चादर? (बहस नहीं है कि im कि क्या चौड़ाई इनलाइन तत्वों के लिए सम्मानित किया जाता है, im सिर्फ उत्सुक क्यों वे मेरे लिए काम किया) – chicane

उत्तर

13

display: block मदद तुम यहाँ क्योंकि जब नाव सक्रिय होता है, तत्वों स्वचालित रूप से मोड ब्लॉक करने के लिए, स्विच किया गया है जो कुछ भी अपनी प्रारंभिक मोड, तो अपनी चौड़ाई काम करना चाहिए नहीं होंगे।

समस्या खाली <span> टैग जो कुछ अस्पष्ट नियम मुझे याद नहीं की वजह से रेंडर नहीं किया जा सकता है के साथ हो सकता है। सामग्री खाली होने पर आपको &nbsp; जोड़कर, अपने खाली होने से रोकने की कोशिश करनी चाहिए।

+0

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

3

यह काम बस शैली के लिए

display: block; 

जोड़ने बनाने के लिए।

67

अवधि एक इनलाइन तत्व है और इसलिए आप चौड़ाई निर्धारित नहीं कर सकते हैं। चौड़ाई निर्धारित करने के लिए आपको पहले इसे

display:block; 

के साथ ब्लॉक तत्व में सेट करना होगा इसके बाद आप चौड़ाई निर्धारित कर सकते हैं। चूंकि अवधि एक देशी इनलाइन तत्व है, आप इनलाइन-ब्लॉक भी उपयोग कर सकते हैं और यह भी IE में काम करेगा:

display:inline-block; 
32

चौड़ाई सम्मानित नहीं है, क्योंकि अवधि एक इनलाइन तत्व है। इसे ठीक करने के जोड़ें:

display: inline-block; 

अपनी स्थिति के आधार पर, display: inline-blockdisplay: block की तुलना में बेहतर हो सकता है अवधि के बाद कोई सामग्री एक नई लाइन पर मजबूर नहीं किया जाएगा क्योंकि।

2

प्रदर्शन block और वैकल्पिक रूप से नाव left मुझे मदद की।

display: block; 
float: left; 
संबंधित मुद्दे