2013-07-21 13 views
18

Ho un div che ha un riempimento di fondo 5px mistero aggiunto a un'immagine contenuta al suo interno. Ho provato a reimpostare il riempimento e il margine CSS per tutti gli elementi, ma inutilmente. Che cosa mi manca ?:IMG ha 5px extra padding in fondo al div

JSFIDDLE: http://jsfiddle.net/vbFx9/

HTML:

<div id="list"> 
    <div id="boxscroll"> 
     <div class="list-result"> 
      <img src="images/ps-result.png"> 
     </div> 
     <div class="list-result"> 
      <img src="images/ps-result.png"> 
     </div> 
     <div class="list-result"> 
      <img src="images/ps-result.png"> 
     </div> 
    </div> 
</div> 

CSS:

.list-result { 
    padding:0; 
    margin:0; 
    width:100%; 
    border-bottom: 1px #000 solid; 
    background:#f9f9f9; 
} 
.list-result:hover { 
    background:#e9e9e9; 
} 
#list { 
    top: 100px; 
    bottom:40px; 
    right: 20px; 
    position: absolute; 
    width: 20%; 
    max-width:300px; 
} 
#boxscroll { 
    font-family:'Open Sans'; 
    background:#f9f9f9; 
    overflow: auto; 
    max-height:100%; 
    border: 8px solid #fff; 
} 
+2

Si prega di accettare la risposta qui sotto come sicuramente sembra essere la soluzione di lavoro corretto. –

risposta

44

utilizzare il seguente CSS: working jsFiddle

img{display:block;} 

Le immagini sono di default visualizzate in linea - il che provoca il riempimento sotto l'immagine. (A causa della line-height)

+0

Questo ha funzionato per me, grazie. Sto capendo correttamente questo: qualsiasi contenuto inline deve lasciare un po 'di spazio in basso in modo che questo spazio possa essere usato dalle parti inferiori di lettere come' g ',' y 'ecc. È questo che causa il problema? O è lo spazio tra le righe separate che cosa lo causa? –

+0

@StefanMonov in realtà le due cose sono collegate l'una all'altra, l'altezza della linea è influenzata dalla dimensione del font (lasciando uno spazio per le lettere delle parti inferiori come hai detto tu). Questo problema potrebbe anche essere risolto impostando 'font-size' su 0 (quindi non è necessaria alcuna altezza aggiuntiva) o forzando l'altezza della riga a 0 (questo naturalmente creerà una barra di scorrimento verticale). Inoltre, qualsiasi spazio vuoto dopo un elemento in linea sarà considerato come "(spazio) in HTML .. Tutto questo combinato, spiega perché trattare le immagini come blocchi ha più senso in questo caso. –

0

uso display: inline-block; alla vostra immagine

demo

+0

non funziona in chrome ... –