2010-07-07 54 views
44

У меня есть ярлык, окружающий изображение. У меня есть граница, установленная на div, в которой находится тег. У меня есть как margin, так и padding, равный 0, но по какой-то причине мой тег все еще на 3 пикселя выше моего изображения. Это оставляет немного пространства между изображением и границей, что разрушает внешний вид, который я хочу выполнить.Пробел в нижней части метки привязки

Что я делаю неправильно? Я тестировал как в FireFox, так и в Chrome с теми же результатами. Thanks

ответ

77

Изображение display: inline поэтому оно рассматривается как персонаж и находится на базовой линии. Разрыв вызван пространством, предусмотренным для descender (которое вы найдете на таких же буквах, как j, g, y и p).

Отрегулируйте vertical-align с помощью CSS: img{vertical-align: bottom}

+10

В частности, 'img {vertical-align: bottom}' –

+1

Это именно то, что происходит. Проблема решена, если я выполняю 'vertical-align: bottom;' или 'display: block;'. Какое лучшее решение? – Icode4food

+0

Ничего не лучше, у них просто разные последствия. Элементы блока имеют разрыв линии вокруг них и другие забавные побочные эффекты. – Quentin

9

display:block для этого достаточно, если элемент не имеет братьев и сестер.

+4

Интересно, поэтому настоящим виновником является тег изображения, а не тег . – Icode4food

+0

Вот что Дэвид в значительной степени сказал, что любой встроенный элемент будет иметь место для descenders. Это естественное поведение. –

+0

«вертикальное выравнивание: нижнее» и «дисплей: блок» удаляют «лишнее свободное пространство» внизу – aztack

Смежные вопросы