यदि आप CSS बॉक्स मॉडल युक्ति को देखते हैं , तो आप निम्नलिखित का अवलोकन करेंगे:
[मार्जिन] प्रतिशत की गणना उत्पन्न बॉक्स की चौड़ाई के संबंध में की जाती है । ध्यान दें कि यह 'मार्जिन-टॉप' और 'मार्जिन-बॉटम' के लिए भी सही है। यदि युक्त ब्लॉक की चौड़ाई इस तत्व पर निर्भर करती है, तो परिणामस्वरूप लेआउट सीएसएस 2.1 में अपरिभाषित है। (जोर मेरा)
यह वास्तव में सच है। लेकिन क्यों ? पृथ्वी पर कोई भी इसे इस तरह डिजाइन करने के लिए मजबूर करेगा? ऐसे परिदृश्यों के बारे में सोचना आसान है जहाँ आप चाहते हैं, उदाहरण के लिए एक निश्चित चीज़ हमेशा पृष्ठ के शीर्ष से 25% नीचे होना चाहिए, लेकिन यह किसी भी कारण से आना मुश्किल है कि आप ऊर्ध्वाधर पैडिंग के लिए क्षैतिज आकार के सापेक्ष क्यों चाहते हैं माता पिता।
यहाँ मैं जिस घटना का उल्लेख कर रहा हूँ, उसका एक उदाहरण है:
<div style="border: 1px solid red; margin: 0; padding: 0; width: 200px; height: 800px;">
This div is 200x800.
<div style="border: 1px solid blue; margin: 10% 0 0 10%;">
This div has top-margin of 10% and left-margin of 10% with respect to its parent.
</div>
</div>
height: 10%; width: 10%
हैं कि आपको एक वर्ग तत्व नहीं मिलेगा, या तो।
Note that in a horizontal flow, percentages on ‘margin-top’ and ‘margin-bottom’ are relative to the width of the containing block, not the height (and in vertical flow, ‘margin-left’ and ‘margin-right’ are relative to the height, not the width).
कि यह दोनों तरीके से चलता है
margin: 25%
वास्तव में इसका क्या मतलब है। यह एक समान मार्जिन नहीं होगा, भले ही कोड यह सुझाव दे। मेरे पास इसे वापस करने के लिए कोई सबूत नहीं है, लेकिन यह उचित लगता है।