2013-10-06 11 views
13

Perché il div genitore dell'immagine ha alcuni pixel in più nella parte inferiore. Come posso rimuovere i pixel senza hardcode l'altezza div padre.L'altezza DIV in base all'altezza dell'immagine secondaria aggiunge pochi pixel in più nella parte inferiore

http://jsfiddle.net/6x8Dm/

HTML

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

CSS

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

img { 
    width:100%; 
} 

risposta

26

Lo spazio in realtà è il risultato di elementi di discender nei caratteri. È possibile liberarsi di esso in vari modi:

+0

@JoshC Risposta davvero interessante. Immagino che questo margine ci sia a causa del testo alt nel caso in cui l'immagine sia mancante. Hai qualche idea sul motivo alla base di questo extra pixel? La ragione? –

+2

@AdrianFlorescu - no, il divario (non un margine) è lì perché per impostazione predefinita le immagini sono come elementi in linea e lo spazio è riservato agli elementi del discender (ad esempio g, y, j). – j08691

+2

OMG funziona! : D –

5

Un modo è impostando display:block sul img, inducendolo a riempire il genitore.

jsFiddle here - funziona.

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

In alternativa, se non ti piace questo approccio, è possibile anche modificare l'allineamento verticale, come il valore predefinito è baseline.

+0

Hm ... fantastico! È corretto! Hai qualche idea del perché c'è quel margine lì? –

+0

Immagino i ragazzi quando hanno creato il tag immagine. Loro dove ... "Dovremmo aggiungere qualche pixel in più sotto questa immagine se è racchiusa in un div e nessuna proprietà display o float è aggiunta - sarà creepy :)) muahaha" –

Problemi correlati