एम

2012-02-28 14 views
14

का उपयोग कर मार्जिन और पैडिंग जब किसी तत्व पर 1em लागू होता है, तो यह ब्राउज़र का डिफ़ॉल्ट मान (आमतौर पर, 16 पीएक्स) या उसके माता-पिता के फ़ॉन्ट-आकार मान को सही करता है, है ना? लेकिन मैंने देखा कि अगर मैं margin-top: 1em जैसे h1 तत्व (रीसेट स्टाइलशीट का उपयोग किए बिना) का उपयोग करता हूं, और इसलिए, h1 font-size: 32px पर सेट किया गया है), तो 1em 32px के बराबर है, भले ही उसका मूल तत्व font-size: 16px पर सेट हो।एम

हालांकि, फ़ॉन्ट आकार जैसे कुछ का उपयोग करना: 100%; विसंगति हल करता है।

मुझे क्या याद आ रही है?

+0

आपका ब्राउज़र क्या है? क्या आप एक बेवकूफ प्रदान करेंगे? –

+0

क्रोम 17 स्थिर, और फ़ायरफ़ॉक्स में भी चेक किया गया। –

उत्तर

12

जब किसी तत्व पर 1em लागू होता है, तो यह ब्राउज़र का डिफ़ॉल्ट मान (आमतौर पर, 16 पीएक्स) या उसके माता-पिता का फ़ॉन्ट-आकार मान लेता है, है ना?

नहीं, यह अपनी हीfont-size, अपनी मूल (या डिफ़ॉल्ट ब्राउज़र की आपूर्ति मूल्य) के आधार पर की लेता है। चूंकि ब्राउज़र-आपूर्ति font-sizeh1 32 पिक्सल है, परिणामी मार्जिन 32 पिक्सल है।

हालांकि, फ़ॉन्ट आकार जैसे कुछ का उपयोग करना: 100%; विसंगति हल करता है।

एक तत्व पर font-size: 100%; या font-size: 1em; सेट करके, आप अपनी मूल का फ़ॉन्ट आकार के 100% का उपयोग करने के लिए यह कह रहे हैं, तो कुछ और पर लंबाई के रूप में 1em की स्थापना का पालन करेंगे कि 100%।

+0

ओह, ठीक है, तो यह इसके विरासत मूल्य पर आधारित है। इससे स्पष्ट हुआ! –

+3

यह इसके विरासत मूल्य के बजाय इसके गणना मूल्य पर आधारित है। एक सूक्ष्म अंतर है :) – BoltClock

+0

@ बोल्टक्लॉक क्या आप इसे थोड़ा और आगे बढ़ा सकते हैं? मुझे एक समान समझ थी कि एम की गणना 16 पिक्सल के ब्राउज़र डिफ़ॉल्ट फ़ॉन्ट आकार के आधार पर की जाती है। W3 के लिए उद्धरण भी बहुत अच्छा होगा। –

9

1emप्रश्न में फ़ॉन्ट आकार के बराबर है। तो मार्जिन के साथ इसका उपयोग करते समय, यह उस तत्व के फ़ॉन्ट-आकार के बराबर होगा जो आप मार्जिन को भी लागू कर रहे हैं।

+1

ग्रेट! धन्यवाद :-) –