CSS बॉक्स मॉडल दृश्य

margin, border, padding और content आयामों को समायोजित करें और CSS बॉक्स मॉडल को लाइव देखें।

आयाम

पैडिंग (px)

बॉर्डर (px)

मार्जिन (px)

मार्जिन
बॉर्डर
पैडिंग
200 × 120

  

कैसे उपयोग करें

  1. बॉक्स मॉडल मान दर्ज करें: फ़ील्ड या इंटरैक्टिव स्लाइडर में मार्जिन, बॉर्डर, पैडिंग और कंटेंट आयाम सेट करें।
  2. विज़ुअलाइज़ेशन अन्वेषण करें: क्लासिक नेस्टेड-बॉक्स आरेख वास्तविक समय में अपडेट होता है, मार्जिन (नारंगी), बॉर्डर (पीला), पैडिंग (हरा), कंटेंट।
  3. CSS कॉपी करें: कॉन्फ़िगर किए गए तत्व के पूर्ण बॉक्स मॉडल गुण पाने के लिए CSS कॉपी करें पर क्लिक करें।

CSS बॉक्स मॉडल विज़ुअलाइज़र क्यों इस्तेमाल करें?

CSS बॉक्स मॉडल वेब लेआउट की सबसे मौलिक अवधारणाओं में से एक है, और सबसे आम बग स्रोतों में से एक।

विशेषताएँ

अक्सर पूछे जाने वाले प्रश्न

content-box और border-box में क्या अंतर है?

content-box (डिफ़ॉल्ट) के साथ, width और height केवल सामग्री क्षेत्र पर लागू होते हैं, padding और border तत्व के कुल आकार में जोड़े जाते हैं। border-box के साथ, width और height में padding और border शामिल हैं, जिससे आकार अधिक अनुमानित होता है। अधिकांश आधुनिक CSS resets सभी तत्वों पर box-sizing: border-box लागू करते हैं।

मार्जिन कोलैप्सिंग क्या है?

जब दो लंबवत मार्जिन छूते हैं (आसन्न ब्लॉक तत्वों के बीच या माता-पिता और पहले/अंतिम बच्चे के बीच), वे दो मानों में से बड़े के बराबर एक एकल मार्जिन में विलीन हो जाते हैं। यह flex या grid बच्चों के साथ नहीं होता, और न ही padding या बॉर्डर वाले तत्वों के साथ।

मैं inline तत्वों के नीचे अतिरिक्त स्थान कैसे हटाऊँ?

inline तत्वों (जैसे <img>) के नीचे line-height बेसलाइन संरेखण के कारण एक छोटा सा गैप होता है। इसे तत्व पर display: block, या vertical-align: bottom, या माता-पिता पर font-size: 0 सेट करके ठीक करें।

CSS बॉक्स मॉडल वास्तव में क्या परिभाषित करता है

CSS बॉक्स मॉडल वेब पेज पर प्रत्येक तत्व का आयताकार प्रतिनिधित्व है। प्रत्येक तत्व में चार संकेंद्रित बॉक्स होते हैं: कंटेंट बॉक्स (जहाँ टेक्स्ट, छवियाँ, बच्चे तत्व रहते हैं), padding बॉक्स (कंटेंट और बॉर्डर के बीच स्थान, दृश्य सीमा के अंदर), बॉर्डर बॉक्स (padding के चारों ओर खींची गई दृश्य रूपरेखा), और मार्जिन बॉक्स (बॉर्डर के बाहर पारदर्शी स्थान जो इस तत्व को अपने पड़ोसियों से अलग करता है)। एक तत्व का कुल दृश्य आकार कंटेंट + padding + बॉर्डर है; मार्जिन अदृश्य है लेकिन अन्य तत्वों को दूर धकेलती है।

महत्वपूर्ण अवधारणा box-sizing है। डिफ़ॉल्ट रूप से (box-sizing: content-box, CSS 1 विशिष्टता मान), width और height गुण केवल कंटेंट बॉक्स पर लागू होते हैं। यदि आप width: 200px; padding: 20px; border: 2px solid सेट करते हैं, कुल रेंडर की गई चौड़ाई 200 + 40 + 4 = 244 पिक्सेल है। यह प्रति-स्वज्ञ है: «200px चौड़ा» तत्व वास्तव में 244 पिक्सेल क्षैतिज स्थान लेता है। box-sizing: border-box विकल्प (CSS 3 में जोड़ा गया) इसे उलट देता है: width गुण padding और बॉर्डर सहित कुल दृश्य आकार है, इसलिए कंटेंट क्षेत्र फिट होने के लिए सिकुड़ता है। border-box वह है जो अधिकांश डेवलपर्स अपेक्षा करते हैं; यह Paul Irish के 2012 «* { box-sizing: border-box }» CSS रीसेट के माध्यम से वास्तविक मानक बन गया।

बॉक्स मॉडल को समझना महत्वपूर्ण है क्योंकि लेआउट बग लगभग हमेशा इस भ्रम का पता लगाते हैं कि कौन सा मान किस बॉक्स पर लागू होता है। «मेरा तत्व मेरे द्वारा सेट किए गए से अधिक चौड़ा क्यों है?» content-box आश्चर्य है। «मेरा मार्जिन भाई-बहनों को नीचे क्यों नहीं धकेलता?» आमतौर पर मार्जिन कोलैप्स है। «padding-top: 50% अजीब क्यों व्यवहार करता है?» क्योंकि प्रतिशत padding माता-पिता की चौड़ाई के सापेक्ष गणना की जाती है, ऊँचाई नहीं। हर CSS डेवलपर इन भ्रमों का सामना करता है; यह विज़ुअलाइज़र उन्हें ठोस बनाता है, आपको मान समायोजित करने और परिणामी बॉक्स ज्यामिति को वास्तविक समय में देखने देता है।

यह उपकरण पर्दे के पीछे कैसे काम करता है

इंटरैक्टिव आरेख प्रत्येक बॉक्स के अनुरूप नेस्टेड रंगीन divs की एक श्रृंखला है (मार्जिन नारंगी, बॉर्डर पीला, padding हरा, कंटेंट नीला)। जैसे ही आप इनपुट मान बदलते हैं, JavaScript आरेख divs के इनलाइन style गुणों को अपडेट करता है ताकि वे संख्यात्मक और दृष्टिगत रूप से मानों को प्रतिबिंबित करें। पूर्वावलोकन क्षेत्र में फिट होने के लिए अनुपात स्केल किए जाते हैं; पूर्ण पिक्सेल मान विशिष्ट इनपुट के लिए आरेख को स्क्रीन से बाहर धकेल देंगे।

कुल आकार गणना box-sizing मोड पर निर्भर करती है। content-box के लिए: कुल चौड़ाई = कंटेंट चौड़ाई + padding-left + padding-right + border-left + border-right। border-box के लिए: कुल चौड़ाई = width मान (padding और बॉर्डर कंटेंट क्षेत्र से घटा दिए जाते हैं)। जब आप box-sizing टॉगल करते हैं तो उपकरण एक साथ दोनों मोड की गणना करता है, ताकि आप सीधे तुलना कर सकें।

उत्पन्न CSS आउटपुट आपके इनपुट को गुण मानों के रूप में उपयोग करता है: box-sizing: border-box; width: 200px; padding: 10px 20px; border: 2px solid; margin: 1rem auto;। इसे सीधे अपनी स्टाइलशीट में कॉपी करें और मेल खाने वाली क्लास लागू करें। आपके ब्राउज़र से कुछ भी नहीं निकलता; सब कुछ स्थानीय रूप से JavaScript में चलता है। कोई एनालिटिक्स नहीं, कोई बैकएंड नहीं, कोई खाता नहीं। ताज़ा करें और स्थिति चली जाती है।

CSS बॉक्स मॉडल का संक्षिप्त इतिहास

वास्तविक दुनिया के कार्यप्रवाह

सामान्य नुकसान और उनका क्या मतलब है

गोपनीयता: सब कुछ आपके ब्राउज़र में चलता है

CSS सीखने और विज़ुअलाइज़ेशन उपकरण दो स्वादों में आते हैं: क्लाइंट-साइड JavaScript चलाने वाले सरल HTML पृष्ठ (निजी, तेज़, कोई सेटअप नहीं) और सहेजी गई परियोजनाओं के साथ क्लाउड संपादक (सहयोगी लेकिन गोपनीयता ट्रेड-ऑफ के साथ)। यह उपकरण पहले प्रकार का है। आपके दर्ज मान, आपकी box-sizing टॉगल स्थिति, आपका उत्पन्न CSS: सभी आपके ब्राउज़र सत्र में रहते हैं। पृष्ठ ताज़ा करें और स्थिति चली जाती है जब तक आपने CSS पहले कॉपी नहीं किया।

यहाँ गोपनीयता दांव कम हैं क्योंकि बॉक्स मॉडल मान शायद ही कभी संवेदनशील जानकारी रखते हैं। फिर भी, एनालिटिक्स की कमी मायने रखती है: आप अपने ट्रायल-एंड-एरर प्रक्रिया रिकॉर्ड किए बिना स्वतंत्र रूप से प्रयोग कर सकते हैं। विशेष रूप से कक्षा या कॉर्पोरेट प्रशिक्षण सेटिंग्स में उपयोगी जहाँ छात्रों या प्रशिक्षुओं को तृतीय-पक्ष प्लेटफ़ॉर्म पर खाते पंजीकृत करना घर्षण बिंदु है। यह बिना बैकएंड के एक एकल स्थिर पृष्ठ है, जो किसी भी ब्राउज़र में उपयोग योग्य है, जिसमें लॉक-डाउन एंटरप्राइज़ मशीनें शामिल हैं।

जब कोई दूसरा उपकरण सही विकल्प हो

अधिक अक्सर पूछे जाने वाले प्रश्न

क्या मुझे यूनिवर्सल * { box-sizing: border-box } का उपयोग करना चाहिए?

अधिकांश परियोजनाओं के लिए, हाँ। Paul Irish का 2012 का प्रस्ताव अब उद्योग डिफ़ॉल्ट है और इस तरह संरेखित है जैसे अधिकांश डेवलपर्स width और height के काम करने की अपेक्षा करते हैं। Bootstrap, Tailwind, Bulma और Material UI जैसे फ्रेमवर्क border-box को डिफ़ॉल्ट के रूप में शिप करते हैं। 2026 में शुरू होने वाली आधुनिक परियोजनाओं को अपने रीसेट के शीर्ष पर *, *::before, *::after { box-sizing: border-box; } सेट करना चाहिए, और शायद ही कभी box-sizing के बारे में फिर से सोचने की आवश्यकता हो। उन व्यक्तिगत तत्वों के लिए content-box के लिए विशिष्ट ओवरराइड संभव हैं जहाँ border-box चीजों को खराब कर देगा।

मेरा मार्जिन भाई-बहनों को धकेलने के बजाय माता-पिता को नीचे क्यों धकेलता है?

यह मार्जिन कोलैप्सिंग है। जब बच्चे का ऊपरी मार्जिन माता-पिता के ऊपरी किनारे से मिलता है जिसमें उनके बीच कोई padding/बॉर्डर नहीं होता, बच्चे का मार्जिन «बच निकलता है» और इसके बजाय माता-पिता पर लागू होता है। समाधान: माता-पिता पर padding-top: 1px जोड़ें (कोई भी मान काम करता है), border: 1px solid transparent जोड़ें, माता-पिता को flex या grid कंटेनर के रूप में सेट करें (उन मोड में कोलैप्सिंग दबा दी जाती है), या माता-पिता पर display: flow-root का उपयोग करें (आधुनिक स्पष्ट «नया ब्लॉक स्वरूपण संदर्भ स्थापित करें» नियम)। ये सभी मार्जिन को कोलैप्स होने से रोकते हैं।

margin: auto और margin: 0 के बीच क्या अंतर है?

margin: 0 का अर्थ है कोई मार्जिन नहीं; तत्व अपने पड़ोसियों के साथ फ्लश बैठता है। margin: auto का अर्थ है कि ब्राउज़र शेष क्षैतिज स्थान वितरित करने के लिए मार्जिन की गणना करता है, आमतौर पर ब्लॉक तत्व को केंद्रित करने के लिए उपयोग किया जाता है: margin-left: auto; margin-right: auto; शेष स्थान को समान रूप से विभाजित करता है। margin: auto auto auto auto (या शॉर्टहैंड margin: auto) flex कंटेनर के अंदर क्षैतिज और लंबवत दोनों रूप से केंद्रित करता है। flex/grid के बाहर, केवल क्षैतिज auto मार्जिन काम करते हैं।

outline border से कैसे भिन्न है?

Outline एक तत्व के चारों ओर खींचा जाता है लेकिन बॉक्स मॉडल के बाहर है: यह तत्व के आकार में नहीं जोड़ता और पड़ोसियों को नहीं धकेलता। Border बॉक्स मॉडल का हिस्सा है और रेंडर किए गए आकार में जोड़ता है। Outline आमतौर पर फोकस रिंग्स (:focus-visible outlines) के लिए उपयोग किया जाता है जहाँ आप लेआउट को स्थानांतरित किए बिना एक दृश्य संकेतक चाहते हैं। Border का उपयोग तब किया जाता है जब रेखा को तत्व की संरचना का हिस्सा होना चाहिए। वैकल्पिक फोकस संकेतक प्रदान किए बिना outline: none को न हटाएँ; ऐसा करने से कीबोर्ड पहुँच टूट जाती है।

margin-inline-start जैसे तार्किक गुणों का उपयोग क्यों करें?

तार्किक गुण (margin-block-start, padding-inline, आदि) दस्तावेज़ की लेखन दिशा के अनुकूल होते हैं। अंग्रेज़ी (बाएँ-से-दाएँ) में, margin-inline-start margin-left के समान है। अरबी या हिब्रू (दाएँ-से-बाएँ) में, यह स्वचालित रूप से margin-right बन जाता है। कई भाषाओं का समर्थन करने वाली साइटों के लिए, तार्किक गुण CSS अंतर्राष्ट्रीयकरण को स्वचालित बनाते हैं। केवल अंग्रेज़ी साइटों के लिए, वे प्रभाव में समतुल्य हैं लेकिन इरादा अधिक स्पष्ट रूप से संकेत देते हैं: «यह मार्जिन टेक्स्ट प्रवाह की शुरुआत में है» के बजाय «यह मार्जिन बाईं ओर है»।

मैं एक निश्चित-पहलू-अनुपात बॉक्स कैसे बनाऊँ?

आधुनिक तरीका aspect-ratio CSS गुण है: div पर aspect-ratio: 16/9 उसकी ऊँचाई को स्वचालित रूप से उसकी चौड़ाई का 9/16 बनाता है। सभी आधुनिक ब्राउज़रों (2021+) में समर्थित। विरासत तकनीक प्रतिशत के रूप में padding-top का उपयोग करती है: padding-top: 56.25% वाला div 16:9 अनुपात (9/16 = 56.25%) बनाता है। padding-top ट्रिक अभी भी काम करती है लेकिन गुण वाक्यविन्यास साफ है। नए कोड के लिए aspect-ratio का उपयोग करें; विरासत हैक Tailwind और अन्य उपकरणों में बना रहता है जिन्हें व्यापक ब्राउज़र समर्थन की आवश्यकता होती है।

संबंधित टूल

CSS मल्टी-कॉलम जनरेटर CSS ग्रिड जनरेटर CSS फ्लेक्सबॉक्स जनरेटर Border Radius जनरेटर