3 शब्दों में: inline-block
बेहतर है।
इनलाइन ब्लॉक
display: inline-block
दृष्टिकोण के लिए एकमात्र दोष यह है कि IE7 में और एक तत्व के नीचे केवल तभी प्रदर्शित किया जा सकता है inline-block
जब यह पहले inline
से ही डिफ़ॉल्ट रूप से हो। इसका मतलब यह है कि एक <div>
तत्व का उपयोग करने के बजाय आपको एक तत्व का उपयोग करना होगा <span>
। यह वास्तव में एक बहुत बड़ी कमी नहीं है क्योंकि शब्दार्थ <div>
पृष्ठ को विभाजित करने के लिए है, जबकि एक पृष्ठ के <span>
एक अंतराल को कवर करने के लिए है, इसलिए बहुत बड़ा शब्दार्थ अंतर नहीं है। की एक बड़ी लाभ display:inline-block
यह है कि जब अन्य डेवलपर्स बाद में किसी समय अपने कोड को बनाए रखने रहे हैं, यह बहुत अधिक स्पष्ट क्या है display:inline-block
और text-align:right
एक से पूरा करने के लिए कोशिश कर रहा है float:left
या float:right
बयान। inline-block
दृष्टिकोण का मेरा पसंदीदा लाभ यह है कि इसका उपयोग करना आसान है vertical-align: middle
, line-height
औरtext-align: center
तत्वों को पूरी तरह से केंद्र में, एक तरह से जो सहज है। मुझे मोज़िला ब्लॉग पर क्रॉस-ब्राउज़र इनलाइन-ब्लॉक को लागू करने के तरीके पर एक शानदार ब्लॉग पोस्ट मिला । यहाँ ब्राउज़र संगतता है ।
फ्लोट
कारण यह है कि float
विधि का उपयोग करना आपके पृष्ठ के लेआउट के लिए अनुकूल नहीं है, क्योंकि float
CSS संपत्ति मूल रूप से केवल एक छवि (पत्रिका शैली) के आसपास पाठ लपेटने के लिए थी और डिजाइन द्वारा, सामान्य पृष्ठ लेआउट उद्देश्यों के लिए सबसे उपयुक्त नहीं है। बाद में फ्लोट किए गए तत्वों को बदलते समय, कभी-कभी आपके पास पोज़िशनिंग समस्याएँ होंगी क्योंकि वे पृष्ठ प्रवाह में नहीं हैं । एक और नुकसान यह है कि इसे आम तौर पर एक उपसर्ग की आवश्यकता होती है अन्यथा यह पृष्ठ के पहलुओं को तोड़ सकता है। स्पष्ट उपसर्ग के लिए आवश्यक तत्व के बाद एक तत्व जोड़ने के लिए उनके माता-पिता को उनके आसपास गिरने से रोकने के लिए है जो सामग्री से शैली को अलग करने के बीच अर्थ रेखा को पार करता है और इस प्रकार वेब विकास में एक विरोधी पैटर्न है ।
ऊपर दी गई लिंक में बताई गई किसी भी श्वेत स्थान की समस्या को आसानी से white-space
CSS संपत्ति के साथ तय किया जा सकता है।
संपादित करें:
साइट डिज़ाइन वेब डिज़ाइन सलाह के लिए एक बहुत विश्वसनीय स्रोत है और उन्हें लगता है कि मेरे पास एक ही राय है:
यदि आप CSS लेआउट के लिए नए हैं, तो आपको यह सोचने के लिए क्षमा कर दिया जाएगा कि कल्पनाशील तरीकों से CSS फ्लोट का उपयोग करना कौशल की ऊंचाई है। यदि आपने कई सीएसएस लेआउट ट्यूटोरियल के रूप में उपभोग किया है, तो आप पा सकते हैं, आप मान सकते हैं कि मास्टरिंग फ़्लोट्स बीतने का एक संस्कार है। आप सरलता से चकित हो जाएंगे, जटिलता से चकित हो जाएंगे, और जब आप अंततः समझ जाएंगे कि कैसे काम करता है तो आप उपलब्धि हासिल करेंगे।
मूर्ख मत बनो। आपका ब्रेनवॉश किया जा रहा है।
http://www.sitepoint.com/give-floats-the-flick-in-css-layouts/
2015 अपडेट - फ्लेक्सबॉक्स आधुनिक ब्राउज़रों के लिए एक अच्छा विकल्प है :
.container {
display: flex; /* or inline-flex */
}
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}
और जानकारी
21 दिसंबर, 2016 अपडेट
बूटस्ट्रैप 4 IE9 के लिए समर्थन को हटा रहा है, और इस प्रकार पंक्तियों से फ़्लोट्स से छुटकारा पा रहा है और फुल फ्लेक्सबॉक्स जा रहा है।
पुल अनुरोध # 21389
inline
, जिसके बारे में नहींinline-block
। लेकिन संबंधित में पहला अच्छा है: stackoverflow.com/a/11823622/918414