2013-07-21 6 views
18

Mam div, który ma tajemniczy 5px dolny margines dodany do obrazu w nim zawartego. Próbowałem zresetować dopełnienie CSS i margines dla wszystkich elementów, ale bez skutku. Co mi brakuje ?:IMG ma 5px dodatkowego dopełnienia u dołu 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

proszę przyjąć odpowiedź poniżej, gdyż z całą pewnością wydaje się być poprawne, roztwór roboczy. –

Odpowiedz

44

użyć następującego CSS: working jsFiddle

img{display:block;} 

Obrazy są domyślnie wyświetlane w linii - co powoduje dopełnienie pod obrazem. (Ze względu na line-height)

+0

To zadziałało dla mnie, dzięki. Czy rozumiem to poprawnie: każda wstawiona treść musi zostawić trochę miejsca na dole, aby ta przestrzeń mogła być używana przez niższe części liter, takie jak "g", "y" itd. Czy to właśnie powoduje problem? Czy też przestrzeń między oddzielnymi liniami powoduje to? –

+0

@StefanMonov Właściwie te dwie rzeczy są ze sobą powiązane, na wysokość linii ma wpływ rozmiar czcionki (pozostawiając odstęp dla liter niższych części, jak powiedziałeś). Ten problem można również rozwiązać, ustawiając "rozmiar czcionki" na 0 (w związku z tym nie jest potrzebna dodatkowa wysokość) lub wymuszając ustawienie "line-height" na 0 (w ten sposób stworzysz pionowy pasek przewijania). Również wszelkie białe spacje po elemencie śródliniowym będą traktowane jako "(spacja) w HTML. Wszystkie te kombinacje wyjaśniają, dlaczego traktowanie obrazów jako bloków ma w tym przypadku największy sens. –

0

użytku display: inline-block; do obrazu

demo

+0

nie działa w chrome ... –

Powiązane problemy