सीएसएस के मार्जिन को गिराने का क्या मतलब है?


80

CSS2 बॉक्स मॉडल हमें बताता है कि लंबवत मार्जिन समीप है

मुझे यह बहुत कष्टप्रद लगता है, कई डिज़ाइन बग्स का स्रोत है। मुझे आशा है कि हाशिये के ढहने के उद्देश्य को समझने के बाद, मैं समझूंगा कि उनका उपयोग कब करना है और जब उन्हें ज़रूरत नहीं है तो उनसे कैसे बचा जाए।

इस सुविधा का उद्देश्य क्या है?


3
समीपवर्ती ऊर्ध्वाधर मार्जिन में गिरावट आई है
सैम

जवाबों:


101

"मार्जिन" का सामान्य अर्थ यह नहीं है कि "इसे 10px तक ले जाएं" बल्कि, "इस तत्व के बगल में खाली जगह का 10px होना चाहिए।"

मैंने हमेशा पाया है कि यह पैराग्राफ के साथ अवधारणा करना सबसे आसान है।

यदि आपने सिर्फ पैराग्राफ दिए हैं margin-top: 10pxऔर किसी भी अन्य तत्वों पर कोई मार्जिन नहीं है, तो पैराग्राफ की एक श्रृंखला को खूबसूरती से स्थान दिया जाएगा। लेकिन निश्चित रूप से, एक पैरा के नीचे एक और तत्व रखने पर आप मुश्किल में पड़ जाएंगे। दोनों छूते थे।

यदि मार्जिन में गिरावट नहीं हुई, तो आप margin-bottom: 10pxअपने पिछले कोड में जोड़ने में संकोच करेंगे , क्योंकि तब पैराग्राफ की कोई भी जोड़ी 20px अलग हो जाएगी, जबकि पैराग्राफ अन्य तत्वों से केवल 10px अलग होगा।

तो ऊर्ध्वाधर मार्जिन पतन। 10px के ऊपरी और निचले मार्जिन को जोड़कर आप कह रहे हैं, "मुझे परवाह नहीं है कि किसी अन्य तत्व में कौन सा मार्जिन नियम है। मैं अपने प्रत्येक पैराग्राफ के ऊपर और नीचे कम से कम 10px पैडिंग की माँग करता हूँ।"


1
+1। CSS के बाहर भी यही तर्क लागू होता है। उदाहरण के लिए, Microsoft Word में, यदि शीर्षक से पहले 6px और पैरा से पहले 6px का अंतर है, यदि अनुच्छेद शीर्षक का अनुसरण करता है, तो 18px नहीं, बल्कि 12px स्थान होगा।
आर्सेनी मूरज़ेंको

1
सही - वे ढह जाते हैं - कम से कम वे एक ही डोम स्तर नहीं हैं। जैसे इस imho को बस ढहने की कोशिश करें : यह वास्तव में कष्टप्रद है
Toskan

1
आपका मतलब है "UNLESS वे एक टेबल रो के अंदर हैं"। तालिका पंक्तियाँ ब्लॉक-स्तरीय तत्व नहीं हैं; उनके कुछ अनोखे नियम हैं। एक पूर्ण विवरण के लिए stackoverflow.com/questions/136727/… देखें ।
VoteyDisciple

2
कैसे margin-topउस तत्व के लिए जोड़ने के बारे में भी?
मिन्ह नगूना
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.