पहले से ही यहाँ बनाए गए अच्छे बिंदु, लेकिन जब ब्राउज़र द्वारा मार्जिन को कैसे पूरा किया जाता है, इसके बारे में बहुत सारी जानकारी है, तो इसका जवाब क्यों नहीं दिया गया है:
"मार्जिन-टॉप क्यों: -8px मार्जिन-बॉटम: 8px के समान नहीं है?"
हम यह भी पूछ सकते हैं:
एक सकारात्मक तल मार्जिन पूर्ववर्ती तत्वों को 'टक्कर' क्यों नहीं देता है, जबकि एक सकारात्मक शीर्ष-मार्जिन निम्न तत्वों को दबा देता है?
इसलिए हम देखते हैं कि मार्जिन के प्रतिपादन में एक अंतर है कि जिस तरफ वे लागू होते हैं, उसके आधार पर - शीर्ष (और बाएं) मार्जिन नीचे (और दाएं) वाले से भिन्न होते हैं।
जब ब्राउज़र द्वारा शैलियों को कैसे लागू किया जाता है, इस पर ध्यान दें कि चीजें स्पष्ट हो रही हैं: व्यूपोर्ट में तत्व ऊपर-नीचे दिए गए हैं, ऊपरी बाएं कोने से शुरू होते हैं (अब के लिए लंबवत रेंडरिंग से चिपके रहें, इसे ध्यान में रखते हुए क्षैतिज एक ही माना जाता है)।
निम्नलिखित HTML पर विचार करें:
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
कोड में उनकी स्थिति के अनुरूप, ये तीन बॉक्स ब्राउज़र में 'टॉप-डाउन' दिखाई देते हैं ( चीजों को सरल रखते हुए, हम यहाँ order
css3 'फ्लेक्स-बॉक्स' मॉड्यूल की संपत्ति पर विचार नहीं करेंगे )। इसलिए, जब भी शैलियों को बॉक्स 3 पर लागू किया जाता है, तो पूर्ववर्ती तत्वों की स्थिति (बॉक्स 1 और 2 के लिए) पहले से ही निर्धारित की गई है, और रेंडरिंग गति के लिए किसी भी अधिक को बदल नहीं दिया जाना चाहिए।
अब, बॉक्स के लिए -10px के एक शीर्ष मार्जिन की कल्पना करें। कुछ जगह इकट्ठा करने के लिए सभी पूर्ववर्ती तत्वों को स्थानांतरित करने के बजाय, ब्राउज़र बॉक्स को केवल 3 ऊपर धकेल देगा, इसलिए यह z- सूचकांक के आधार पर (या नीचे) के शीर्ष पर प्रदान किया जाता है ) किसी भी पूर्ववर्ती तत्व। यहां तक कि अगर प्रदर्शन एक मुद्दा नहीं था, तो सभी तत्वों को ऊपर ले जाने का मतलब उन्हें व्यूपोर्ट से बाहर स्थानांतरित करना हो सकता है, इस प्रकार वर्तमान स्क्रॉलिंग स्थिति को फिर से सब कुछ दिखाई देने के लिए बदल देना होगा।
यह बॉक्स 3 के लिए नीचे के मार्जिन पर लागू होता है, दोनों नकारात्मक और सकारात्मक: पहले से ही मूल्यांकन किए गए तत्वों को प्रभावित करने के बजाय, आगामी तत्वों के लिए केवल एक नया 'शुरुआती बिंदु' निर्धारित किया जाता है। इस प्रकार एक सकारात्मक तल मार्जिन सेट करने से निम्न तत्व नीचे आ जाएंगे ; एक नकारात्मक उन्हें ऊपर धकेल देगा।
onset
और बेहतर किया जा सकता हैoffset
। यह सच है कि बहुत से लोग हमेशाoffset
( नकारात्मक ) शब्द का उपयोग करते हैं जब उनका मतलबonset
( सकारात्मक ) होता है। यदि आप अपना उत्तर अपडेट करते हैं तो यह संदेश स्वयं नष्ट हो जाएगा। चीयर्स!