Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> CSS

CSS बॉक्स मॉडल को समझना

HTML डॉक्यूमेंट में प्रत्येक एलिमेंट को CSS द्वारा एक आयताकार बॉक्स के रूप में माना जाता है। यह डिफ़ॉल्ट लेआउट स्कीम है और इसे हमारी आवश्यकताओं के अनुसार कस्टमाइज़ किया जा सकता है। एलिमेंट्स की पोजिशनिंग, उनका कंटेंट, और उनके आसपास के एलिमेंट्स CSS के बॉक्स मॉडल का पालन करके किए जाते हैं।

शुरुआत करते हैं, बॉक्स मॉडल के लेआउट के साथ जैसा कि निम्नलिखित इमेज में दिखाया गया है।

CSS बॉक्स मॉडल को समझना

स्रोत: w3.org

कंटेंट (Content)

इसमें टेक्स्ट, इमेज या अन्य मीडिया कंटेंट के रूप में वास्तविक डेटा शामिल होता है। width और height प्रॉपर्टीज इस बॉक्स के आयामों को संशोधित करती हैं।

पैडिंग (Padding)

कंटेंट के बाहरी किनारे और उसके बॉर्डर के बीच की जगह को पैडिंग कहते हैं। इस बॉक्स को padding प्रॉपर्टी द्वारा रिसाइज़ किया जा सकता है। एज-स्पेसिफिक प्रॉपर्टीज जैसे padding-left, padding-bottom आदि कस्टम स्पेसिंग प्राप्त करने में मदद करती हैं।

बॉर्डर (Border)

पैडिंग के बाहरी किनारे और मार्जिन के आंतरिक किनारे के बीच की दूरी किसी एलिमेंट के बॉर्डर को परिभाषित करती है। डिफ़ॉल्ट रूप से, इसकी चौड़ाई 0 पर सेट होती है। border प्रॉपर्टी का उपयोग किसी एलिमेंट के बॉर्डर को परिभाषित करने के लिए किया जाता है। व्यक्तिगत एज को भी स्टाइल किया जा सकता है।

मार्जिन (Margin)

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

उदाहरण

निम्नलिखित उदाहरण पर विचार करें:

<!DOCTYPE html> <html> <head> <style> div {    margin: 25px;    padding: 35px;    width: 200px;    background-color: lightseagreen;    border: 20px dashed indianred; } </style> </head> <body> <div> Content demo box<br/> </div> </body> </html>

आउटपुट

यह निम्नलिखित आउटपुट उत्पन्न करता है:

CSS बॉक्स मॉडल को समझना

यहां, हमने अपने CSS स्पेसिफिकेशन में <div> एलिमेंट का आकार परिभाषित किया है। इस एलिमेंट की कुल चौड़ाई 360px है जिसकी गणना निम्नानुसार की जाती है:

width + (left+right)padding + (left+right)border + (left+right)margin = 200 + (35+35) + (20+20) + (25+25) px = 360px

हालांकि ऐसा लग सकता है कि मार्जिन और पैडिंग केवल अनावश्यक जगह जोड़ते हैं और एलिमेंट की कुल चौड़ाई में जुड़ जाते हैं, लेकिन इसने वेबपेज को रिस्पॉन्सिव बनाने में विभिन्न अनुप्रयोग पाए हैं। बॉक्स मॉडल एलिमेंट्स को बेहतर तरीके से पोजिशन करने में मदद करता है।

दूसरा उदाहरण

निम्नलिखित उदाहरण CSS बॉक्स मॉडल को दर्शाते हैं:

<!DOCTYPE html> <html> <head> <style> div {    margin: auto;    padding: 35px;    width: 80px;    box-shadow: inset 0 0 22px indianred;    border-radius: 50%; } div > div {    padding: 0 0px 100px 0px;    border-radius: 3%;    box-shadow: inset 0 0 22px seagreen; } </style> </head> <body> <div> <div></div> </div> </body> </html>

आउटपुट

यह निम्नलिखित आउटपुट देता है:

CSS बॉक्स मॉडल को समझना

तीसरा उदाहरण

<!DOCTYPE html> <html> <head> <style> #demo {    width: 350px;    display: flex;    float: left;    border: 6px solid black;    border-radius: 6%; } .d1 {    margin-left: 20px;    width: 150px;    height: 80px;    box-shadow: 0 0 0 4px mediumslateblue;    box-sizing: border-box;    border-radius: 36%; } .d2 {    width: 150px;    height: 80px;    padding: 30px;    box-shadow: 0 0 0 4px darkred;    box-sizing: border-box;    border-radius: 36%; } </style> </head> <body> <div id="demo"> <div class="d1"></div> <div class="d2"></div> </div> </body> </html>

आउटपुट

यह निम्नलिखित आउटपुट देता है:

CSS बॉक्स मॉडल को समझना

  1. CSS में Background Attachment CSS में Background Attachment

    CSS में background-attachment प्रॉपर्टी का उपयोग व्यूपोर्ट के सापेक्ष पेज स्क्रॉल होने पर बैकग्राउंड इमेज की स्थिति निर्दिष्ट करने के लिए किया जाता है। इसके मान scroll, fixed और local हो सकते हैं। सिंटैक्स CSS background-attachment प्रॉपर्टी का सिंटैक्स निम्नलिखित है: Selector {    backgr

  1. CSS3 में फ्लेक्स लेआउट मॉडल समझना CSS3 में फ्लेक्स लेआउट मॉडल समझना

    CSS3 एक लेआउट मोड फ्लेक्सिबल बॉक्स प्रदान करता है, जिसे आमतौर पर फ्लेक्सबॉक्स कहा जाता है। फ्लेक्सबॉक्स (फ्लेक्सिबल बॉक्स) CSS3 का एक लेआउट मोड है। इस मोड का उपयोग करके, आप जटिल एप्लिकेशन्स और वेब पेजेज़ के लिए आसानी से लेआउट बना सकते हैं। इसमें कंटेनर, फ्लेक्स आइटम्स आदि शामिल हैं। कंटेनर में निम्न

  1. CSS3 फ्लेक्सिबल बॉक्स लेआउट्स CSS3 फ्लेक्सिबल बॉक्स लेआउट्स

    CSS3 एक लेआउट मोड फ्लेक्सिबल बॉक्स प्रदान करता है, जिसे आमतौर पर फ्लेक्सबॉक्स कहा जाता है। फ्लेक्सबॉक्स (फ्लेक्सिबल बॉक्स) CSS3 का एक लेआउट मोड है। इस मोड का उपयोग करके, आप जटिल एप्लिकेशन्स और वेब पेजेज़ के लिए आसानी से लेआउट बना सकते हैं। इसमें कंटेनर, फ्लेक्स आइटम्स आदि शामिल हैं। कंटेनर में निम्न