2013-08-09 7 views
7

मैं फ्लोट और स्पष्ट का उपयोग करके कुछ सामान कर रहा था। मुझे float: none; या clear: none; का उपयोग करके कोई फर्क नहीं पड़ता है क्या कोई है? क्या कोई उदाहरणक्या फ्लोट के बीच कोई अंतर है: कोई नहीं और स्पष्ट: कोई भी

+2

दोनों 'फ्लोट' और 'स्पष्ट' के पास 'none' का डिफ़ॉल्ट मान है, इसलिए आप किसी भी संयोजन का कोई प्रभाव नहीं देखेंगे जबतक कि आप कहीं और कुछ मूल्य सेट ओवरराइड नहीं कर रहे हैं। – Eric

+0

मुझे नहीं पता कि यह मदद करता है: http://jsfiddle.net/QM4mm/2/, हालांकि यह DIV चार में सामग्री के साथ क्या हो रहा है, इसके बारे में आपके ज्ञान के आधार पर चीजों को जटिल बना सकता है। – hungerstar

+0

@ हंगरस्टार के रूप में, चौथा div फ्लोट है: कोई नहीं; चौथा div पहले div की तरह एक ही शीर्ष स्थिति के साथ शुरू होता है। क्या मैं सही हू? मैं सोच रहा हूं कि सामग्री "चार-फ्लोट नोएन" div के नीचे क्यों लिखी गई है? क्या आप कृपया – shubendrak

उत्तर

15

Float:none; उन तत्वों को बताता है जिन्हें आप फ़्लोट करने की इच्छा नहीं रखते हैं।

Clear अन्य तत्व बताता है कि उन्हें तैरने की अनुमति दी जानी चाहिए या नहीं, और किसी के मामले में, आप दोनों तरफ तैरने की अनुमति नहीं दे रहे हैं। यही कारण है कि जब आप clear:both; का उपयोग करते हैं जो फ़्लोटिंग स्टॉप करता है।

+0

मैंने इन परिभाषाओं को पढ़ा है। मैं कह रहा हूं कि स्पष्ट उपयोग करते समय मुझे कोई फर्क नहीं पड़ता: कोई नहीं और फ्लोट: कोई नहीं। क्या आप एक उदाहरण के साथ अंतर को चित्रित कर सकते हैं। – shubendrak

+1

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

+2

http://codepen.io/anon/pen/srIuf - जब आप स्पष्ट उपयोग करते हैं तो जांचें: किसी भी कंटेनर में तत्व नॉन फ्लोटिंग तत्व के तहत तैरते रहते हैं - इसे 'साफ़ करें: दोनों' में बदलें और आप देख सकते हैं कि तत्वों के बारे में स्पष्ट वार्ता और अलग-अलग तत्वों के बारे में वार्ताएं कितनी स्पष्ट हैं। –

4

वे दो पूरी तरह से अलग चीजें हैं।

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

clear यह सुनिश्चित करेगा कि आपके द्वारा बताए गए तरफ कोई फ़्लोटिंग तत्व नहीं है। यदि कोई है, तो यह तब तक नीचे चलेगा जब तक कि दिशा में कोई भी नहीं है। clear: both दोनों दिशाओं के लिए यह जांच करेगा।

आपको यह दिखाने के लिए एक उदाहरण दिया गया है कि floats और clears क्या करें।

enter image description here

+0

धन्यवाद, लेकिन मेरा संदेह 'फ्लोट के साथ था: कोई नहीं 'और' स्पष्ट: कोई नहीं 'स्पष्ट नहीं है: बाएं' – shubendrak

+0

@ शुबेन्द्र: कोई भी डिफ़ॉल्ट मान नहीं है, और केवल पिछले घोषित स्पष्ट को ओवरराइड करने के लिए उपयोग किया जा सकता है। – Broxzier

+0

अगर मैं उस अंतिम div के लिए 'स्पष्ट: कोई नहीं' लिखता हूं तो – shubendrak

1

फ्लोट कोई भी आसन्न चल बच्चे तत्वों के आसपास wraping को रोकने के लिए एक तत्व बंद हो जाता है। डिफ़ॉल्ट रूप से, तत्वों ने कोई भी फ्लोट नहीं किया है। किसी भी फ़्लोटिंग बच्चे को बाएं या दाएं तरफ से लपेटने के लिए दोनों स्टॉप तत्व साफ़ करें। अधिक जानकारी और लाइव उदाहरणों के लिए, मेरे ट्यूटोरियल पर जाएं, http://tutorial.techaltum.com/css_float.html

2

ऐसा लगता है कि आपको float क्या अंतर्निहित अवधारणा को समझ में नहीं आया है। float का कोई मान none को छोड़कर जब भी ब्लॉक-स्तर तत्व को असाइन किया जाता है, उस तत्व को दस्तावेज़ प्रवाह से बाहर ले जाता है। मान लें कि आपके पास दो अलग-अलग div तत्व हैं, एक float:none और दूसरा clear:none के साथ। अब बाद में में दस्तावेज़ प्रवाह के प्रवाह के के प्रवाह प्रवाह के आधार पर हो सकता है - इसके फ्लोट वैल्यू के आधार पर। मैं आपको दो उदाहरण प्रस्तुत करता हूं।पहले संस्करण में लाल पैरा float:none उपयोग करता है और दूसरे संस्करण में लाल पैरा clear: none

लाल पैरा float:none का उपयोग कर का उपयोग करता है:

#usefloatnone 
 
{ 
 
    border: 1px dotted black; 
 
    background-color: red; 
 
    width: 1050px; height: 350px; 
 
    
 
    float: none; 
 
} 
 

 
#useclearnone 
 
{ 
 
    border: 1px dotted black; 
 
    background-color: red; 
 
    width: 1050px; height: 200px; 
 
    float: right; 
 
    
 
    clear: none; 
 
} 
 

 
#normal 
 
{ 
 
    border: 1px dotted black; 
 
    width: 1050px; height: 100px; 
 
}
</style> 
 

 
    </head> 
 
    <p id="usefloatnone"> Red paragraph </p> 
 
    <p id="normal"> Normal paragraph </p> 
 
    <p id="normal"> Normal paragraph </p> 
 
    <p id="normal"> Normal paragraph </p> 
 
</html>

लाल पैरा clear:none का उपयोग कर:

#usefloatnone 
 
{ 
 
    border: 1px dotted black; 
 
    background-color: red; 
 
    width: 1050px; height: 350px; 
 
    
 
    float: none; 
 
} 
 

 
#useclearnone 
 
{ 
 
    border: 1px dotted black; 
 
    background-color: red; 
 
    width: 1050px; height: 200px; 
 
    float: right; 
 
    
 
    clear: none; 
 
} 
 

 
#normal 
 
{ 
 
    border: 1px dotted black; 
 
    width: 1050px; height: 100px; 
 
}
<p id="useclearnone"> Red paragraph </p> 
 
    <p id="normal"> Normal paragraph </p> 
 
    <p id="normal"> Normal paragraph </p> 
 
    <p id="normal"> Normal paragraph </p>

आप जबकि अब clear: none और float: none का उपयोग कर प्रभाव में अंतर देख सकते हैं। मेरा सुझाव है कि आप पहले float और clearfrom this tutorial by w3.org community की अवधारणा को पूरी तरह से समझें। आप तत्वों पर clear संपत्ति का उपयोग करते हैं जब आप किसी भी फ़्लोटिंग तत्वों को साफ़ करना चाहते हैं/(आमतौर पर बाएं या दाएं)।

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