मूल रूप से आपने अपने कोड में अधिक अव्यवस्था जोड़ दी है जो अधिक भ्रम पैदा कर रही है इसलिए पहले मैं अव्यवस्था को हटाने की कोशिश करता हूं जो वास्तविक मुद्दे को समझने में बाधा उत्पन्न करता है।
सबसे पहले हमें यह स्थापित करना होगा कि असली सवाल क्या है?
इसका यही कारण है कि " inline-block
" तत्व को नीचे की ओर धकेला जाता है।
अब हम इसे समझना शुरू करते हैं और अव्यवस्था को दूर करते हैं।
1 -
सभी तीन तलाक को एक ही सीमा चौड़ाई क्यों नहीं दी जाती?
दे खते हैं।
2 - क्या फ्लोटिंग तत्व का इनलाइन-ब्लॉक एलिमेंट के साथ कोई संबंध है जिसे नीचे की ओर धकेला जा रहा है? नहीं, इसका इससे कोई लेना-देना नहीं है।
तो, हमने उस div को पूरी तरह से हटा दिया है । और आप इनलाइन-ब्लॉक तत्व के समान व्यवहार को नीचे की ओर धकेलते हुए देख रहे हैं।
यहाँ कुछ साहित्य की बारी आती है कि वे लाइन बक्सों के विचार को समझें और कैसे वे एक ही पंक्ति में पंक्तिबद्ध हों, पिछले पैराग्राफ को ध्यान से पढ़ें क्योंकि आपके प्रश्न का उत्तर निहित है।
'इनलाइन-ब्लॉक' की आधार रेखा सामान्य प्रवाह में उसके अंतिम लाइन बॉक्स की आधार रेखा होती है, जब तक कि इसमें कोई प्रवाह लाइन बॉक्स न हो या यदि इसकी 'अतिप्रवाह' संपत्ति में 'दृश्यमान' के अलावा अन्य कोई संगणित मूल्य हो, बेसलाइन किस मामले में सबसे नीचे का किनारा है।
यदि आप बेसलाइन के बारे में निश्चित नहीं हैं, तो यहां सरल शब्दों में संक्षिप्त विवरण दिया गया है।
'Gjpqy' को छोड़कर सभी वर्ण आधार रेखा पर लिखे गए हैं, आप आधार रेखा के बारे में सोच सकते हैं जैसे कि आप इन "यादृच्छिक वर्णों" के ठीक नीचे एक सरल क्षैतिज रेखा खींचते हैं तो यह आधार रेखा होगी लेकिन अब यदि आप 'gjpqy' में से कोई भी लिखते हैं। एक ही पंक्ति पर वर्ण (अक्षर) तो इन वर्णों का निचला भाग रेखा से नीचे गिर जाएगा।
अतः हम कह सकते हैं कि 'gjpqy' को छोड़कर सभी वर्ण पूरी तरह से आधार रेखा से ऊपर लिखे गए हैं जबकि इन वर्णों का कुछ भाग आधार रेखा के नीचे लिखा गया है।
3 - हमारी लाइन की आधार रेखा कहाँ है, इसकी जाँच क्यों नहीं की गई? मैंने कुछ अक्षर जोड़े हैं जो हमारी रेखा की आधार रेखा को दर्शाते हैं ।
4 - क्यों हमारे divs में कुछ अक्षर जोड़ने के लिए भी div में उनके आधारभूत नहीं? यहाँ, कुछ वर्ण बेसलाइन को स्पष्ट करने के लिए divs में जोड़े गए हैं ।
अब जब आप आधार रेखा के बारे में समझते हैं, तो इनलाइन-ब्लॉकों की आधार रेखा के बारे में निम्नलिखित सरलीकृत संस्करण पढ़ें।
i) यदि प्रश्न में इनलाइन-ब्लॉक की अपनी अतिप्रवाह संपत्ति दिखाई देती है (जो कि डिफ़ॉल्ट रूप से है, तो हालांकि सेट करने की कोई आवश्यकता नहीं है)। तब इसकी आधार रेखा रेखा के युक्त ब्लॉक की आधार रेखा होगी।
ii) यदि प्रश्न में इनलाइन-ब्लॉक के पास अपनी अतिप्रवाह संपत्ति है जो अन्य THAN पर दिखाई देती है। तब इसका निचला मार्जिन बॉक्स वाले लाइन की आधार रेखा पर होगा।
अब अपनी अवधारणा को स्पष्ट करने के लिए इसे फिर से देखें कि ग्रीन डिव के साथ क्या हो रहा है । यदि अभी तक कोई भ्रम है, तो यहां युक्त ब्लॉक की आधार रेखा स्थापित करने के लिए ग्रीन डिव के करीब अधिक वर्ण जोड़े गए हैं और ग्रीन डिव बेसलाइन संरेखित है।
खैर, मैं अब दावा कर रहा हूं कि उनके पास एक ही आधार रेखा है? सही?
5 - फिर उन्हें ओवरलैप क्यों नहीं किया जाता है और देखें कि क्या वे दूसरे पर सही हैं? तो, मैं तीसरा div -left लाता हूं: 35px; यह देखने के लिए कि क्या उनके पास अब एक ही आधार रेखा है ?
अब, हमें अपना पहला अंक सिद्ध हो गया है।
खैर, पहले बिंदु के दूसरे बिंदु के स्पष्टीकरण के बाद आसानी से पचने योग्य है और आप देखते हैं कि पहली div जो दृश्य (छिपी) के अलावा अन्य से अधिक संपत्ति सेट है लाइन के आधार रेखा पर इसका निचला मार्जिन है।
अब, आप इसे स्पष्ट करने के लिए कुछ प्रयोग कर सकते हैं।
- पहले div अतिप्रवाह सेट करें : दृश्यमान (या इसे पूरी तरह से हटा दें) ।
- दूसरा div overflow सेट करें : दृश्यमान के अलावा ।
- दोनों divs अतिप्रवाह सेट करें : दृश्यमान के अलावा ।
अब अपने अव्यवस्था को वापस लाएं और देखें कि क्या सब कुछ आपको ठीक लग रहा है।
- अपनी फ्लोटेड डिव को वापस लाएं (बेशक
शरीर की कुछ चौड़ाई बढ़ाने की आवश्यकता है ) आप देखें कि इसका कोई प्रभाव नहीं है।
- समान विषम मार्जिन वापस लाएं ।
- हरे रंग की div को ओवरफ्लो करने के लिए सेट करें : जैसा कि आपने अपने प्रश्न में सेट किया है, दृश्यमान है (यह मिसलिग्न्मेंट सीमा की चौड़ाई 1px से 5px तक बढ़ने के कारण है, इसलिए यदि नकारात्मक बाएँ समायोजित करें तो आप देखेंगे कि कोई समस्या नहीं है)
- अब अतिरिक्त पात्रों को हटा दें जिन्हें मैंने समझने में सहायता के लिए जोड़ा है । (और निश्चित रूप से नकारात्मक बाईं ओर हटा दें)
- अंत में शरीर की चौड़ाई को कम करें क्योंकि हमें अब और व्यापक की आवश्यकता नहीं है।
और अब हम वापस वहीं हैं जहां से हमने शुरुआत की थी।
उम्मीद है कि मैंने आपके सवाल का जवाब दिया होगा।