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
.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 के लिए जरूरी है।