SA-21/06, C-11, Asapur, Varanasi, UP support@kamaldnp.com +91 8318013442
पाठ 8, कुल 30 में

CSS मार्जिन

5 मिनट पढ़ें · मुफ़्त · बिना लॉगिन

Margin element के बाहर की खाली जगह है — एक box और अगले box के बीच का gap। यही पेज को भीड़-भाड़ से बचाता है। Margins पारदर्शी होते हैं: आप उन्हें कभी देखते नहीं, सिर्फ वह जगह देखते हैं जो वे बनाते हैं। अगर दो cards बहुत करीब लगें, तो fix लगभग हमेशा margin ही होता है।

Diagram — देखें, यह सब कैसे जुड़ता है
Diagram: CSS मार्जिन

Margin की sides

हर element के चार margins होते हैं, हर side पर एक। आप उन्हें एक-एक करके तय कर सकते हैं, या एक साथ।

.card {
  margin-top: 20px;
  margin-right: 10px;
  margin-bottom: 20px;
  margin-left: 10px;
}

यह लंबा रूप है। Shorthand यही काम एक line में करता है, और values ऊपर से घड़ी की दिशा में चलती हैं: top, right, bottom, left। घड़ी की तरह सोचिए — 12, 3, 6, 9।

सिंटैक्स — shorthand, चार तरीके

.a { margin: 20px; }              /* all four sides: 20px */
.b { margin: 10px 30px; }          /* top/bottom 10px, left/right 30px */
.c { margin: 10px 20px 30px; }     /* top 10px, left/right 20px, bottom 30px */
.d { margin: 10px 20px 30px 40px; } /* top 10, right 20, bottom 30, left 40 */

एक value से चारों sides को वही मिलता है। दो values में पहली top और bottom है, दूसरी left और right। तीन में पहली top, दूसरी left और right, तीसरी bottom। चार में वे घड़ी की दिशा में चलते हैं: top, right, bottom, left। "एक से चार values" वाला यह pattern margin, padding और border-width — तीनों में चलता है। एक बार सीख लीजिए, हर जगह इस्तेमाल कीजिए।

Note: Margins negative values भी ले सकते हैं, padding नहीं। margin-top: -10px; element को 10 pixel ऊपर खींच लेता है, उसके ऊपर वाली चीज़ पर चढ़ा देता है। यह badge को card के ऊपर चढ़ाने की काम की trick है — पर कम इस्तेमाल कीजिए, क्योंकि overlapping elements छोटी screen पर एक-दूसरे को छिपा सकते हैं।

margin: auto से बीच में लाना

Margin की सबसे मशहूर trick है box को बीच में लाना। Box को एक fixed width दीजिए, फिर उसके left और right margins को auto कर दीजिए — browser बची हुई जगह दोनों तरफ बराबर बाँट देता है, और box बीच में बैठ जाता है।

.card {
  width: 400px;
  margin: 20px auto;
}

इसे ऐसे पढ़िए: ऊपर-नीचे 20 pixel जगह, और left-right automatic बराबर margins। Width ज़रूरी है — उसके बिना box पूरी line भरकर फैल जाता है, बाँटने के लिए कोई बची जगह ही नहीं रहती, और auto कुछ नहीं करता। यही CSS का सबसे आम "बीच में क्यों नहीं आ रहा?" सवाल है, और जवाब लगभग हमेशा होता है "आप width भूल गए"।

Margin collapse — हैरान करने वाला व्यवहार

यहाँ margin का वह एक व्यवहार है जो सबको उलझा देता है। जब दो block elements ऊपर-नीचे रखे हों, तो उनके margins जुड़ते नहीं हैं। इसके बजाय वे collapse हो जाते हैं: बड़ा margin जीतता है, छोटा गायब हो जाता है।

/* Two paragraphs, each with margin-bottom: 20px */
p { margin: 0 0 20px 0; }

अगर पहले paragraph का bottom margin 20px है और दूसरे का top margin 30px है, तो उनके बीच का gap 30px होगा — 50px नहीं। Margins बड़े वाले में collapse हो जाते हैं। यही parent और उसके पहले child के बीच भी होता है: child का top margin "बाहर निकलकर" parent को नीचे धकेल सकता है। आम fix हैं parent को थोड़ी padding देना, border देना, या flexbox इस्तेमाल करना — ये सभी collapse को रोक देते हैं।

Tip: Margins elements के बीच की जगह के लिए इस्तेमाल करें और padding element के अंदर की जगह के लिए। जब कोई gap गलत लगे, तो पहले पूछिए: यह margin की समस्या है (बाहर) या padding की (अंदर)? दस में से नौ बार यही एक सवाल जवाब ढूँढ लेता है।

आम गलतियाँ

  • यह उम्मीद करना कि vertical margins जुड़ जाएँगे — वे बड़े वाले में collapse हो जाते हैं। 20px bottom margin + 30px top margin = 30px gap, 50px नहीं।
  • बिना width के margin: auto इस्तेमाल करना — box पूरी line भर लेता है, इसलिए बीच में लाने के लिए कुछ बचता ही नहीं।
  • Vertical centring के लिए margin: auto इस्तेमाल करना — यह सिर्फ horizontal काम करता है। Vertical centring के लिए flexbox या grid चाहिए।
  • घड़ी की दिशा वाला क्रम भूल जाना — margin: 10px 20px 30px 40px; top, right, bottom, left है, top, left, bottom, right नहीं।
  • पेज के पहले element पर top margin लगाकर यह सोचना कि पूरा पेज नीचे क्यों खिसक गया — वह child का margin parent से collapse होकर बाहर निकल गया है।

याद रखें

  • Margin border के बाहर की जगह है; padding उसके अंदर की जगह है।
  • Shorthand की values ऊपर से घड़ी की दिशा में चलती हैं: top, right, bottom, left।
  • margin: 0 auto; block को बीच में लाता है — पर तभी जब उसकी width तय हो।
  • Vertical margins collapse होते हैं: बड़ा वाला जीतता है, वे कभी जुड़ते नहीं।
  • Margins negative हो सकते हैं; padding नहीं।

उदाहरण समझिए

  • .card { width: 400px; margin: 20px auto; } — card 400 pixel चौड़ा है, और auto left-right margins बची जगह बराबर बाँट देते हैं, इसलिए वह पेज के बीच में बैठता है।
  • .row { margin: 10px 20px 30px 40px; } — चार values वाला shorthand, घड़ी की दिशा में: ऊपर 10px, दाईं ओर 20px, नीचे 30px, बाईं ओर 40px।
  • p { margin: 0 0 20px 0; } — हर paragraph का top margin शून्य और bottom margin 20px है, इसलिए दो paragraphs के बीच gap 20px है — 40px नहीं, क्योंकि margins collapse हो जाते हैं।
  • .badge { margin-top: -12px; } — negative top margin badge को 12 pixel ऊपर खींच लेता है, इसलिए वह sticker की तरह card के ऊपर वाले किनारे पर चढ़ जाता है।

उदाहरण

Example
<!DOCTYPE html>
<html>
<head>
<title>CSS Margins</title>
<style>
body { font-family: Verdana, sans-serif; background-color: #f1f5f9; }
.card { width: 400px; margin: 20px auto; background-color: white; border: 1px solid #ccc; padding: 20px; position: relative; }
.row { margin: 10px 20px 30px 40px; background-color: #dbeafe; padding: 10px; }
p { margin: 0 0 20px 0; }
.badge { background-color: #dc2626; color: white; display: inline-block; padding: 4px 10px; margin-top: -12px; }
</style>
</head>
<body>

<div class="card">
<span class="badge">NEW</span>
<h2>Summer Training 2026</h2>
<p>Learn HTML, CSS and JavaScript in 6 weeks.</p>
<p>Morning and evening batches available.</p>
<div class="row">This box has margins 10px top, 20px right, 30px bottom, 40px left.</div>
</div>

</body>
</html>

परिणाम

परिणाम — ब्राउज़र में यह कैसा दिखता है
परिणाम: CSS मार्जिन

खुद करके देखें — लाइव एडिटर

नीचे दिया गया कोड बदलें और चलाएँ दबाएँ — परिणाम तुरंत दिखेगा। कोई फाइल सहेजनी नहीं है, कोई लॉगिन नहीं चाहिए।

परिणाम

खुद क्यों सीखें — AI से पूछने के बजाय?

AI आपके लिए कोड लिख सकता है, लेकिन वह आपके लिए सोच नहीं सकता। जब आप HTML खुद सीखते हैं, तो आपका दिमाग असली कौशल बनाता है: आप समझते हैं कि पेज ऐसा क्यों दिखता है, टूटने पर उसे ठीक कर सकते हैं, और परीक्षा या इंटरव्यू में बिना मदद के जवाब दे सकते हैं। यही कौशल नौकरी दिलाता है — कॉपी किया हुआ जवाब नहीं।

सर्टिफिकेट पाएँ — सिर्फ ₹10

सभी 30 पाठ पूरे करें, टेस्ट पास करें (80%), ₹10 दें और अपना सर्टिफिकेट पाएँ।

टेस्ट दें

देखकर सीखना पसंद है? वीडियो कोर्स में वही विषय एक-एक करके सिखाए जाते हैं।

Go further with a full course

Free tutorials teach you the basics. Our paid courses add live projects, mentorship and a certificate.

Ethical Hacking & Cyber Security Workshop
View
AI Prompt Engineering Webinar 2026
View
Advanced Cyber Security Industrial Training
₹5,000
View
Browse all courses
CSS — Lessons
1. CSS परिचय 2. CSS सिंटैक्स 3. CSS सेलेक्टर्स 4. CSS कैसे जोड़ें 5. CSS रंग 6. CSS बैकग्राउंड 7. CSS बॉर्डर 8. CSS मार्जिन 9. CSS पैडिंग 10. CSS ऊँचाई और चौड़ाई 11. CSS बॉक्स मॉडल 12. CSS टेक्स्ट 13. CSS फ़ॉन्ट्स 14. CSS लिंक्स 15. CSS लिस्ट्स 16. CSS टेबल्स 17. CSS डिस्प्ले 18. CSS पोज़िशन 19. CSS ओवरफ़्लो 20. CSS फ़्लोट 21. CSS स्यूडो-क्लास 22. CSS स्यूडो-एलिमेंट 23. CSS फॉर्म 24. CSS नेविगेशन बार 25. CSS वेबसाइट लेआउट 26. CSS Flexbox — लचीला लेआउट 27. CSS Grid — दो-आयामी लेआउट 28. CSS Responsive — हर screen पर अच्छा पेज 29. CSS Transitions और Animations 30. CSS Variables — नाम देकर value सहेजो
अंतिम टेस्ट — सर्टिफिकेट ₹10

🤖 KAMALDNP AI Assistant

Ask about courses, website & more

Hi! I'm KAMALDNP AI Assistant. Ask me about our courses, website features, or anything else! 😊
Please wait 5s...
🛡️ 7-Day Money-Back Guarantee
🤖 KAMALDNP Assistant ✕

Request human callback:

🔐 Login Required
✕

Download karne ke liye login karo. Login ke baad yahi page pe rahoge!

Naya ho? Register karo →