2010-07-07 11 views
44

Mam znacznik otaczający obraz. Mam zestaw obramowania na div, w którym znajduje się znacznik. Mam margines i dopełnienie ustawione na 0, ale z jakiegoś powodu mój znacznik jest wciąż o około 3 piksele wyższy niż mój obraz. Pozostawia to trochę przestrzeni między obrazem a granicą, która niszczy wygląd, który chcę osiągnąć.Biała przestrzeń u dołu znacznika zakotwiczenia

Co robię źle? Testowałem zarówno w FireFox, jak i Chrome z tymi samymi wynikami. Dzięki

Odpowiedz

77

Obraz jest display: inline, więc traktowany jest jak postać i siedzi na linii bazowej. Luka jest spowodowana przez przestrzeń przewidzianą dla podstępu (który można znaleźć na literach takich jak j, g, yi p).

Regulacja vertical-align z CSS: img{vertical-align: bottom}

+10

Dokładniej: img {vertical-align: bottom} ' –

+1

To właśnie się dzieje. Problem został rozwiązany, jeśli wykonuję polecenie "vertical-align: bottom;" lub "display: block;". Które jest lepsze rozwiązanie? – Icode4food

+0

Żadne z nich nie jest lepsze, mają tylko inne implikacje. Elementy blokowe mają przełamanie linii wokół nich i inne zabawne efekty uboczne. – Quentin

9

display:block jest wystarczająca do tego, jeżeli element nie ma rodzeństwa.

+4

Interesujące, więc prawdziwym winowajcą jest tag obrazu, a nie tag . – Icode4food

+0

Tak właśnie powiedział David, każdy element inline będzie miał miejsce dla potomków. To naturalne zachowanie. –

+0

zarówno "vertical-align: bottom", jak i "display: block" usuwają "dodatkową białą przestrzeń" u dołu – aztack

Powiązane problemy