सीएसएस में मार्जिन और पैडिंग के बीच वास्तव में क्या अंतर है ? यह वास्तव में बहुत उद्देश्य की सेवा के लिए प्रतीत नहीं होता है। क्या आप मुझे एक उदाहरण दे सकते हैं कि मतभेद कहाँ हैं (और अंतर जानना क्यों महत्वपूर्ण है)?
सीएसएस में मार्जिन और पैडिंग के बीच वास्तव में क्या अंतर है ? यह वास्तव में बहुत उद्देश्य की सेवा के लिए प्रतीत नहीं होता है। क्या आप मुझे एक उदाहरण दे सकते हैं कि मतभेद कहाँ हैं (और अंतर जानना क्यों महत्वपूर्ण है)?
जवाबों:
padding
सामग्री और के बीच का स्थान है border
, जबकि margin
सीमा के बाहर का स्थान है। यहां मुझे एक त्वरित Google खोज से मिली एक छवि है, जो इस विचार को दर्शाती है।
एक महत्वपूर्ण बात जो यहां के उत्तरों में गायब है:
टॉप / बॉटम मार्जिन्स पतनशील हैं।
इसलिए यदि आपके पास किसी तत्व के निचले भाग में 20px मार्जिन और अगले तत्व के शीर्ष पर 30px का मार्जिन है, तो दोनों तत्वों के बीच का अंतर 50px के बजाय 30px होगा। यह बाएं / दाएं मार्जिन या पेडिंग पर लागू नहीं होता है।
मार्जिन को आपके बाहर के तत्व पर लागू किया जाता है इसलिए यह प्रभाव डालता है कि आपका तत्व अन्य तत्वों से कितनी दूर है।
पैडिंग आपके तत्व के अंदर लागू होती है इसलिए यह प्रभाव डालती है कि आपके तत्व की सामग्री सीमा से कितनी दूर है।
इसके अलावा, मार्जिन का उपयोग करने से आपके तत्व के आयाम प्रभावित नहीं होंगे जबकि पैडिंग आपके तत्वों के आयाम (ऊँचाई + पैडिंग) बनाएगी, उदाहरण के लिए यदि आपके पास 5x पैडिंग के साथ 100x100px div है, तो आपका div वास्तव में 105x105px होगा
auto
। यदि चौड़ाई है auto
, तो अतिरिक्त पैडिंग गद्देदार तत्व की चौड़ाई को तदनुसार बढ़ा देगा (और दोनों तरफ से, जैसा कि @ 2013Asker उल्लेख किया गया है)
इन 3 बिंदुओं को याद रखें:
सबसे सरल बचाव है; पैडिंग कंटेनर तत्व की सीमा के अंदर दी गई जगह है और मार्जिन बाहर दिया गया है। एक तत्व के लिए जो कंटेनर नहीं है, पैडिंग को बहुत अधिक समझ में नहीं आता है, लेकिन मार्जिन डिफेनेटली इसे व्यवस्थित करने में मदद करेगा।
पैडिंग बॉर्डर के अंदर स्पेस है , जबकि मार्जिन बॉर्डर के बाहर स्पेस है ।
गद्दी
पैडिंग एक सीएसएस संपत्ति है जो एक तत्व सामग्री और उसकी सीमा (यदि इसकी सीमा है) के बीच की जगह को परिभाषित करती है। यदि किसी तत्व के चारों ओर एक बॉर्डर है, तो पैडिंग उस बॉर्डर से उस बॉर्डर में दिखाई देने वाले तत्व कंटेंट को जगह देगा। यदि किसी तत्व के आस-पास कोई बॉर्डर नहीं है, तो पैडिंग को जोड़ने से उस तत्व पर बिल्कुल भी कोई प्रभाव नहीं पड़ता है, क्योंकि वहां से स्पेस देने के लिए कोई बॉर्डर नहीं है।
हाशिया
मार्जिन एक सीएसएस संपत्ति है जो एक तत्व के बाहर के स्थान को उसके अगले बाहरी तत्व को परिभाषित करता है।
मार्जिन उन तत्वों को प्रभावित करता है जो दोनों की सीमाएं हैं या नहीं हैं। यदि किसी तत्व में बॉर्डर है, तो मार्जिन इस बॉर्डर से अगले बाहरी तत्व तक के स्पेस को परिभाषित करता है। यदि किसी तत्व में सीमा नहीं है, तो मार्जिन तत्व सामग्री से अगले बाहरी तत्व तक के स्थान को परिभाषित करता है।
पैडिंग और मार्जिन के बीच अंतर
इसलिए मार्जिन और पैडिंग के बीच का अंतर यह है कि पैडिंग इनर स्पेस से संबंधित है, जबकि मार्जिन बाहरी स्पेस के साथ अगले बाहरी तत्व से संबंधित है।
मार्जिन और पैडिंग के बीच महत्वपूर्ण अंतर में से किसी भी जवाब में उल्लेख नहीं किया गया है: क्लिक करने की क्षमता और होवर का पता लगाना
पैडिंग बढ़ने से तत्व का प्रभावी आकार बढ़ जाता है। कभी-कभी मेरे पास एक छोटा सा आइकन होता है जिसे मैं नेत्रहीन रूप से बड़ा नहीं बनाना चाहता, लेकिन उपयोगकर्ता को अभी भी उस आइकन के साथ बातचीत करने की आवश्यकता है। मैं क्लिक और होवर के लिए एक बड़ा पदचिह्न देने के लिए आइकन की पैडिंग बढ़ाता हूं। आइकन के मार्जिन को बढ़ाने का समान प्रभाव नहीं होगा।
इस विषय पर एक अन्य प्रश्न का उत्तर एक उदाहरण देता है।
मार्जिन = चारों ओर (बाहर) सीमा के बाहर से तत्व।
पैडिंग = चारों ओर (अंदर) पाठ से सीमा तक का तत्व।
यहाँ देखें: http://jsfiddle.net/robx/GaMpq/
यह अंतर के बारे में पता करने के लिए अच्छा है margin
और padding
। जैसा की मैं जनता हूँ:
auto
मार्जिन के लिए मान सेट कर सकते हैं । हालाँकि, इसे पेडिंग के लिए अनुमति नहीं है। इसे देखें ।
margin: auto
क्षैतिज रूप से इसके मूल के अंदर एक ब्लॉक तत्व को केन्द्रित करने के लिए उपयोग करें । साथ ही, ऑटो को मार्जिन सेट करके, एक फ्लेक्सबॉक्स के अंदर एक तत्व को लंबवत या क्षैतिज रूप से या दोनों में केंद्र में करना संभव है। इसे देखें ।
background-color
संपत्ति को काले रंग में सेट करते हैं, तो इसका आंतरिक स्थान (यानी पैडिंग) काला होगा, लेकिन इसका बाहरी स्थान (यानी मार्जिन) नहीं।
मार्जिन बॉक्स के बाहर जगह है; बॉक्स के अंदर पैडिंग स्पेस है। एक सफेद भराव के साथ अंतर को देखना मुश्किल है, लेकिन एक रंगीन भराव के साथ आप इसे ठीक देख सकते हैं।
पैडिंग डेवलपर को पाठ के बीच स्थान बनाए रखने की अनुमति देता है और यह तत्व संलग्न है। मार्जिन वह स्थान है जो तत्व मूल DOM के दूसरे तत्व के साथ बना रहता है।
उदाहरण देखें:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UT-8">
<title>Pseudo Elements</title>
<style type="text/css">
body{font-family:Arial; font-size:16px; background-color:#f8e6ae; color:#888;}
.page
{
background-color: #fff;
padding: 10px 30px 50px 50px;
margin:30px 100px 30px 300px;
}
</style>
</head>
<body>
<div class="page">
Notice the distance between the top and this text. Then compare it with the distance between the bottom border and the this text.
</div>
</body>
सीएसएस में मार्जिन एक संपत्ति है जिसका उपयोग सीमा के बाहर, तत्वों के आसपास रिक्त स्थान बनाने के लिए किया जाता है। प्रोग्रामर टॉप, राइट, बॉटम और लेफ्ट के लिए मार्जिन सेट कर सकता है। दूसरे शब्दों में, वह मार्जिन-टॉप, मार्जिन-राइट, मार्जिन-बॉटम और मार्जिन-लेफ्ट का उपयोग करके उन मानों को सेट कर सकता है।
मार्जिन मान निम्न प्रकार के हो सकते हैं।
सबसे पहले, ऑटो ब्राउज़र को मार्जिन की गणना करने की अनुमति देता है। इसके अलावा, लंबाई px, pt या cm में एक मार्जिन को दर्शाता है, जबकि% मार्जिन को वर्णन करने में मदद करता है जिसमें शामिल तत्व की चौड़ाई के सापेक्ष प्रतिशत है। अंत में, इनहेरिट यह दर्शाता है कि मार्जिन को मूल तत्व से विरासत में मिला है।
पैडिंग सीएसएस में एक संपत्ति है जो सीमा के अंदर एक तत्व के आसपास जगह बनाने में मदद करती है। प्रोग्रामर शीर्ष, दाएं, नीचे और बाएं के लिए पैडिंग सेट कर सकता है। दूसरे शब्दों में, वह पैडिंग-टॉप, पैडिंग-राइट, पेडिंग-बॉटम और पैडिंग-लेफ्ट का उपयोग करके उन मूल्यों को सेट कर सकता है।
पैडिंग मान निम्न प्रकार के हो सकते हैं।
लंबाई px, pt या cm में पैडिंग का वर्णन करती है, जबकि% पैडिंग को एक प्रतिशत के रूप में दर्शाता है जिसमें शामिल तत्व की चौड़ाई है। अंत में, इनहेरिट का वर्णन है कि पैडिंग को मूल तत्व से विरासत में लिया जाना चाहिए।
div.special {
width:200px;
border-style: solid;
border-width:thin;
border-color:#000;
margin:30px 20px 10px 25px;
}
div.special2 {
width:200px;
border-style: solid;
border-width:thin;
border-color:#000;
padding:30px 20px 10px 25px;
}
<div class="special">
Hello its margin test
</div>
<div class="special2">
Hello its padding test
</div>
मार्जिन और पैडिंग के बीच अंतर
मार्जिन एक सीएसएस संपत्ति है जिसका उपयोग परिभाषित सीमा के बाहर तत्व के चारों ओर स्थान बनाने के लिए किया जाता है, जबकि पैडिंग एक सीएसएस संपत्ति है जिसका उपयोग परिभाषित सीमा के अंदर तत्व के आसपास जगह बनाने के लिए किया जाता है। इस प्रकार, यह मार्जिन और पैडिंग के बीच मुख्य अंतर की व्याख्या करता है।
मान इसके अलावा, मार्जिन के मान ऑटो, लंबाई,% या इनहेरिट हो सकते हैं, जबकि पैडिंग के मान लंबाई,% या विरासत प्रकार हो सकते हैं। इसलिए, यह मार्जिन और पैडिंग के बीच एक और अंतर है।
संक्षेप में, सीएसएस में मार्जिन और पैडिंग दो गुण हैं जो वेब पृष्ठों को स्टाइल करने की अनुमति देता है। उन गुणों के लिए नकारात्मक मान निर्दिष्ट करना संभव नहीं है। मार्जिन और पैडिंग के बीच मुख्य अंतर यह है कि मार्जिन बॉर्डर के बाहर तत्व के आसपास जगह बनाने में मदद करता है, जबकि पैडिंग बॉर्डर के अंदर तत्व के आसपास जगह बनाने में मदद करता है।
पैडिंग वेब पेज पर निकटतम घटकों के बीच का स्थान है और मार्जिन वेबपेज के मार्जिन से अंतरिक्ष है।
एक बात जो मैंने अभी देखी है लेकिन ऊपर दिए गए उत्तरों में से कोई भी उल्लेख नहीं किया गया है। अगर मेरे पास एक गतिशील रूप से बनाया गया DOM तत्व है जो खाली इनर html कंटेंट के साथ इनिशियलाइज़ होता है, तो पैडिंग के बजाय मार्जिन का उपयोग करना एक अच्छा अभ्यास है यदि आप नहीं चाहते कि यह खाली एलिमेंट किसी भी स्थान पर कब्जा करे, सिवाय इसके कंटेंट के बनने के।
मार्जिन को आपके बाहर के तत्व पर लागू किया जाता है, इसलिए यह प्रभाव डालता है कि आपका तत्व अन्य तत्वों से कितनी दूर है।
पैडिंग आपके तत्व के अंदर लागू होती है इसलिए यह प्रभाव डालती है कि आपके तत्व की सामग्री सीमा से कितनी दूर है।
इसके अलावा, मार्जिन का उपयोग करने से आपके तत्व के आयाम प्रभावित नहीं होंगे जबकि पैडिंग आपके तत्वों के आयाम (ऊँचाई + पैडिंग) बनाएगी, उदाहरण के लिए यदि आपके पास 5x पैडिंग के साथ 100x100px div है, तो आपका div वास्तव में 105x105px होगा
मूल रूप से, पैडिंग और मार्जिन के बीच का अंतर पृष्ठभूमि के संदर्भ में आता है। पैडिंग सामग्री के बीच की जगह तय करेगा, जबकि मार्जिन तत्वों के बाहरी किनारे को तय करेगा!
पैडिंग आप सामग्री और सीमा के बीच का स्थान है। जहाँ मार्जिन सीमा और अन्य तत्व के बीच का स्थान है।
padding vs margin
। मुझे लगता है कि हमें खोज पट्टी में तीर जोड़ने और हरे रंग बनाने की आवश्यकता है।