2011-01-07 8 views

Odpowiedz

6

Można to naprawić, wprowadzając img display:block w swoim CSS, as seen here.

+0

Dziękuję bardzo. – John

+0

Czy mógłbyś sprecyzować, co miałeś na myśli przez "usuwanie miejsca"? Po prostu ułożenie kodu w jednej linii nie pomaga –

+0

@denisk, problem nie ma nic wspólnego z białymi znakami, zobacz moją odpowiedź, dlaczego tak się dzieje i jak to naprawić. – Jim

0

Alternatywnie zastosować css wyłącznie do obrazów:

.thumb img{ 
position: relative; 
padding:2px; 
float: left; 
margin: 0px 0px 5px 5px; 
border: solid 1px #ccc; 
} 
10

przeciwieństwie do innych odpowiedzi, to nie ma nic wspólnego z białych znaków w znacznikach i usuwanie białych znaków nie będzie to naprawić.

Problem polega na tym, że obrazy są inline domyślnie wartość początkowa dla wyrównania w pionie jest baseline. Oznacza to, że obraz jest traktowany tak, jakby był jakimkolwiek innym komponentem tekstowym strony, a przestrzeń jest zarezerwowana pod treścią tekstową dla potomków - ogony na literach takich jak małe litery "j" itd.

Aby to naprawić, albo musisz powiedzieć silnikowi renderującemu, że obraz nie powinien być traktowany jak treść tekstowa - zrobi to .thumb img { display: block; } - lub możesz nakazać silnikowi renderowania, aby nie rezerwował miejsca dla elementów podrzędnych, a zamiast tego wyrównywał zawartość do samego dołu - .thumb img { vertical-align: bottom; } to.

Edycja: Wydaje mi się przypomnieć, że starsze wersje Internet Explorer nieprawidłowo obsłużyć spacje, więc usunięcie spacji może mieć wpływ tam, ale to, co powiedziałem wyżej stoi; usunięcie białych znaków nie jest rozwiązaniem dla tego problemu w wielu przeglądarkach.

+1

Dobrze jesteś; miejmy nadzieję, że OP przyjmie akceptację. Usunąłem dezinformację z mojej odpowiedzi. – Phrogz

+0

+1 - ładne wyjaśnienie! –

+1

To doprowadzało mnie do szału przez cały ranek, dzięki za naprawę i wspaniałe wyjaśnienie! – brooklynsweb