2012-02-17 8 views
5

Ho un problema che ho replicato in vari browser.Dov'è lo spazio extra proveniente da queste immagini?

Ho div con immagini ciascuna in un wrapper http://jsfiddle.net/QnVYL/. Il wrapper ha un bordo 1px e un padding 5px. L'immagine all'interno è dimensionata al 100% della larghezza.

Per qualche motivo, tuttavia, c'è più di 5px tra il fondo dell'immagine e il fondo del suo involucro. Vedi come sembra che il padding sia uguale su tutti i lati delle immagini? Sembra che ci siano 3 pixel aggiunti da ... da qualche parte. Firebug non mi fa sapere da dove viene.

Come posso liberarmi dello spazio? Non posso usare il posizionamento assoluto per simulare l'imbottitura perché non sono ancora sicuro di conoscere sempre l'altezza esatta dell'immagine.

L'aiuto è molto apprezzato!

+1

avete fatto prova a ripristinare gli stili del browser? Forse qualcosa sull'attributo display. – rekire

risposta

6

Si tratta di un problema noto. Prova:

img { 
    display: block; 
}  
+0

AHA! Quando l'immagine è in linea, il div avvolge la linea di base della riga di testo! Eric Meyer lo scrive qui: http://devedge-temp.mozilla.org/viewsource/2002/img-table/ –

1

Come ho indovinato è l'attribut visualizzazione:

#container { 
    display:block; 
    width: 50%; 
    margin: auto; 
    margin-top: 100px; 
} 
5

È un'altezza di linea. Le immagini vengono visualizzate come elementi di blocco in linea per impostazione predefinita. La line-height fa in modo che dopo il testo non si attacchi all'immagine come qui:

<img...><br>foo 

line-height separates text from imagtext sticking to image

Entrambe queste correzioni sono utili, a seconda della situazione:

.imgContainer { line-height: 0; } 

img { display: block; } 
+0

Grazie per la soluzione alternativa. Ma quando l'altezza della linea 0 mi andrebbe meglio? Alcuni browser si comportano in modo strano con immagini di blocco o qualcosa del genere? –

+0

Nella tua situazione particolare, immagino che in realtà non faccia molta differenza. Ma supponiamo di voler aggiungere più contenuti come del testo o altre immagini, quindi l'altezza della linea può diventare utile. Vedi questo esempio: http://jsfiddle.net/mDP85/ – user123444555621

Problemi correlati