2013-10-06 12 views
13

पर कुछ अतिरिक्त पिक्सल जोड़ती है छवि के मूल div के नीचे कुछ अतिरिक्त पिक्सल क्यों होते हैं। माता-पिता div ऊंचाई के हार्ड कोड के बिना मैं पिक्सल को कैसे हटा सकता हूं।बच्चे की छवि ऊंचाई के आधार पर डीआईवी ऊंचाई नीचे

http://jsfiddle.net/6x8Dm/

एचटीएमएल

<div class="wrapper"> 
    <div class="column"> 
     <img src="http://www.lorempixel.com/200/200/" /> 
    </div>  
</div> 

सीएसएस

.wrapper { 
    width:200px; 
    margin:0 auto; 
} 
.column { 
    width:100%; 
    background:#cc0000; 
} 

img { 
    width:100%; 
} 

उत्तर

26

वह जगह वास्तव में फोंट में अवरोही तत्वों का परिणाम है। आप कई तरीकों से में यह से छुटकारा पाने के कर सकते हैं:

  • छवि के लिए एक vertical-align:top नियम जोड़ने jsFiddle example
  • युक्त div को font-size:0; जोड़ने jsFiddle example
  • छवि के लिए display:block; जोड़ने jsFiddle example
+0

@ जोशसी वास्तव में दिलचस्प जवाब है। मुझे लगता है कि छवि गायब होने पर alt text की वजह से यह मार्जिन है। क्या आपको इस अतिरिक्त पिक्सेल के पीछे कारण के बारे में कोई जानकारी है? कारण? –

+2

@AdrianFlorescu - नहीं, अंतर (मार्जिन नहीं) वहां है क्योंकि डिफ़ॉल्ट छवियां इनलाइन तत्वों की तरह हैं और स्थान अवरोध तत्वों (जैसे जी, वाई, जे) के लिए आरक्षित है। – j08691

+2

ओएमजी यह काम करता है! : डी –

5

एक तरह से img पर display:block की स्थापना, यह माता पिता को भरने के लिए पैदा कर रहा द्वारा होता है।

jsFiddle here - यह काम करता है।

img { 
    width:100%; 
    display:block; 
} 

वैकल्पिक रूप से, अगर आप यही तरीका पसंद नहीं है, आप भी खड़ी संरेखण, बदल सकते हैं के रूप में डिफ़ॉल्ट baseline है।

+0

एचएम ... ठंडा! वह सही है! क्या आपको कोई विचार है कि वह मार्जिन क्यों है? –

+0

मैं उन लोगों की कल्पना करता हूं जब उन्होंने छवि टैग बनाया था। वे कहां पसंद करते हैं ... "हमें इस छवि के नीचे कुछ अतिरिक्त पिक्सेल जोड़ना चाहिए यदि यह एक div में लपेटा गया है और कोई डिस्प्ले प्रॉपर्टी या फ्लोट जोड़ा नहीं गया है - यह डरावना होगा :)) मुहाहा" –

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