2012-05-03 16 views
12

मैं तो जैसे कुछ मार्कअप है के लिए अतिरिक्त ऊंचाई हो जाता है:डिव कोई कारण नहीं

<div class="account-picture"> 
    <img src="http://i.imgur.com/Mcr3l.png"> 
</div> 

div जरूरतों बाईं जारी किया जाना है। छवि 128px x 128px है।

और कुछ सीएसएस:

.account-picture{ 
    float: left; 
    background: #FFFFFF; 
    padding: 10px; 
    border: 1px solid red; 
    font-size: 1px; 
    overflow: hidden; 
} 

img{ 
    border: 1px solid #F8F8F8; 
    overflow: hidden; 
} 

लेकिन समस्या यह है वहाँ div करने के लिए सौंपा कुछ अतिरिक्त ऊंचाई हो रहा है। फायरबग से लेआउट आरेख इस प्रकार हैं: enter image description here

div की ऊंचाई 2 अतिरिक्त पिक्सेल क्यों हो रही है? यह ब्राउज़र में क्यों भिन्न होता है?

  • फ़ायरफ़ॉक्स 12: 2px अतिरिक्त
  • IE9: 0.26px अतिरिक्त
  • क्रोम: 0px अतिरिक्त।

और यहाँ एक बेला है: http://jsfiddle.net/mWe5Y/

हो रहा क्यों है, और कैसे मुझे लगता है कि अतिरिक्त "ऊंचाई" से छुटकारा मिलता है?

उत्तर

18

क्योंकि आईएमजी एक इनलाइन तत्व है।

कि अतिरिक्त ऊंचाई से छुटकारा पाने के लिए:

.account-picture img { 
    display: block; 
} 
+0

और यहाँ काम कर रहे बेला है: http://jsfiddle.net/mWe5Y/10/ – Alp

+0

यह कुछ है कि हम एक रीसेट स्टाइलशीट में सामान्य कर सकता है? – F21

+0

क्या यह img {display: block; } एक reset.css शीट में? बेशक, लेकिन शायद ऐसे समय होंगे जब आप को इनलाइन तत्व के रूप में माना जाएगा। उन मामलों में, आपको इसे प्राप्त करने के लिए उपयुक्त स्थानों में सीएसएस जोड़ना होगा। http://stackoverflow.com/questions/4904668/html5-vertical-spacing-issue-with-img – clyfish

संबंधित मुद्दे