CSS Lessons

CSS Box Model

अगर आप वेब डिज़ाइन को समझना चाहते हैं, तो CSS Box Model को समझना ज़रूरी है। क्योंकि HTML का हर element — चाहे वो text हो, image हो या div — CSS में एक Box की तरह व्यवहार करता है। चलिए इसे step-by-step आसान हिंदी + English mix भाषा में समझते हैं

Box Model क्या होता है?

हर HTML element को CSS एक rectangular box मानता है। उस box के चार लेयर होती हैं

┌──────────────────────────────┐
│          Margin              │
│  ┌────────────────────────┐  │
│  │       Border           │  │
│  │  ┌──────────────────┐  │  │
│  │  │    Padding       │  │  │
│  │  │  ┌────────────┐  │  │  │
│  │  │  │  Content   │  │  │  │
│  │  │  └────────────┘  │  │  │
│  │  └──────────────────┘  │  │
│  └────────────────────────┘  │
└──────────────────────────────┘

चार Main Parts of Box Model

Layer Description
Content Actual text या image जो दिखाई देता है
Padding Content और Border के बीच की अंदर की space
Border Padding को घेरने वाली लाइन
Margin Border के बाहर की space (दूसरे elements से दूरी)

Example — Basic Box Model

<style>
.box { width: 200px; height: 100px; background-color: lightblue; padding: 20px; border: 5px solid blue; margin: 30px; } </style>

<div class="box">This is my box</div>

अब browser इस box को इस तरह calculate करेगा:

लेयर (Layer) साइज (Size)
**Content** (कंटेंट) 200px $\times$ 100px
**Padding** (पैडिंग) +20px (हर side)
**Border** (बॉर्डर) +5px (हर side)
**Margin** (मार्जिन) +30px (हर side)

Total space = 200 + 20 + 20 + 5 + 5 + 30 + 30 = 310px चौड़ाई तक फैल जाएगा।

Total Size Calculation Formula

Total Width = width + padding-left + padding-right + border-left + border-right + margin-left + margin-right
Total Height = height + padding-top + padding-bottom + border-top + border-bottom + margin-top + margin-bottom

यह समझना जरूरी है क्योंकि यही layout को सही रखता है।

box-sizing Property (बहुत Important!)

Default behavior में padding और border width में add हो जाते हैं, लेकिन आप इसे control कर सकते हैं

Default:

box-sizing: content-box;   /* Default */

Padding और border width में जोड़ दिए जाते हैं।

Recommended:

box-sizing: border-box;

Padding और border width element के अंदर ही count होती हैं। Layout perfect रहता है! Example

* {
  box-sizing: border-box;
}

यह पूरे webpage के लिए apply हो जाएगा।

Example Comparison

❌ Without border-box
.box1 {
  width: 200px;
  padding: 20px;
  border: 5px solid black;
}

Actual width = 200 + 20 + 20 + 5 + 5 = 250px

With border-box

.box2 {
  width: 200px;
  padding: 20px;
  border: 5px solid black;
  box-sizing: border-box;
}

Actual width = 200px ही रहेगी, padding और border अंदर गिन लिए जाएंगे।

Visual Example – Understanding Layers

<style>
.outer-box { background: lightgray; padding: 20px; } .inner-box { background: skyblue; border: 5px solid blue; padding: 15px; margin: 10px; } </style>

<div class="outer-box"> <div class="inner-box">Box Model Demo</div> </div>
यहां:
  • Padding (20px) outer box में अंदर की space दे रहा है,
  • Margin (10px) inner box को बाहर की दूरी दे रहा है,
  • Border (5px) अंदर के box की outline बना रहा है।

Box Model को क्यों समझना जरूरी है?

  • Layout सही ढंग से बनाना हो
  • Elements को balance और align करना हो
  • Responsive design maintain करना हो
  • Overlapping और unwanted spacing से बचना हो

यानी कि, बिना Box Model समझे, perfect web design possible ही नहीं!

Practical Example – Card Design with Perfect Box Model

<style>
.card { width: 300px; padding: 20px; border: 2px solid #ccc; margin: 20px auto; background: #fdfdfd; box-sizing: border-box; border-radius: 10px; } </style>

<div class="card"> <h2>Box Model Example</h2> <p>This card uses margin, padding, border and content beautifully.</p> </div>

यहां हर layer अपने काम में perfect है — Content readable, padding balanced, border clean, और margin spacing दे रहा है।

Quick Recap

Property (गुण) Description (विवरण)
content Actual element content (text, image, etc.)
(वास्तविक तत्व सामग्री - टेक्स्ट, इमेज, आदि)
padding Content के अंदर space
(सामग्री के अंदर की जगह)
border Padding के चारों ओर की लाइन
(पैडिंग के चारों ओर की रेखा)
margin Element के बाहर की space
(तत्व के बाहर की जगह)
box-sizing Width calculation control करता है
(चौड़ाई गणना को नियंत्रित करता है)

Common Mistakes

  • ❌ Padding और border जोड़ने पर layout बिगड़ना
  • ✅ Fix करें: box-sizing: border-box;
  • ❌ Margin collapse को न समझना
  • ✅ हमेशा vertical margins पर ध्यान रखें
  • ❌ Elements का unexpected space दिखना
  • ✅ DevTools से inspect करके हर layer check करें

Pro Tips

  • Webpage के हर section को box के रूप में visualize करें
  • Layout बनाते समय border temporarily लगाकर spacing check करें
  • Always use box-sizing: border-box; पूरे प्रोजेक्ट में
  • Margin और padding का फर्क याद रखें — अंदर और बाहर की space

Final Thoughts

CSS Box Model ही वो concept है जिस पर पूरा web design टिका हुआ है। अगर आप इसे अच्छे से समझ गए, तो layout, spacing, borders — सब आपके control में रहेंगे। यह CSS की foundation है, और इसे master करना हर web designer के लिए जरूरी है।