2013-09-10 3 views
1

У меня есть изображение в DIV, позволяет сказать, например, так:CSS высота строки с изображением не применяется

<div> 
<img src="myimage.png"> 
</div> 

стиль для DIV, это высота строки: 36px;

высота изображения составляет 12px

Этот код живет на многих веб-сайтах (думаю, кнопка/значок и т.д.) - это практически всегда работает. Но иногда div обрушивается вокруг изображения, и я пытаюсь понять, почему.

Если я поместил рядом с изображением &nbsp;, линия-высота снова начнет работать.

Настройка изображения встраивать, давая Див конкретный размер шрифта, кажется, не делают разницы

+0

Как вы знаете, что ДИВ развалился? –

+0

Мое первое предположение заключается в том, что правила CSS для вашего фрагмента кода переписываются другими более конкретными правилами. Я не могу понять, как воспроизвести эффект «обрушения вокруг изображения». –

+0

Почему бы не использовать высоту на DIV и не использовать Line-Height для размера? – Travis

ответ

1

применить новый стиль к DIV:

<div style="display:list-item;"></div> 

Пусть это поможет вам.

+0

Это работает? –

+0

Кажется, что это работает - мне нужно сделать немного больше тестирования, можете ли вы объяснить, почему? – Elliot

+0

, когда мы не дали высоту любого элемента с высотой линии изображения, не работает –

1

Вероятно, это потому, что IMG был установлен в display:block. В этом случае нет ничего, что могло бы привести к созданию строки. Если нет строки строки, для линии-высоты не нужно применять.

Возможно, плавание img также может ввести в заблуждение вопрос, потому что это также не оставляет ничего, чтобы создать поле строки. Но в этой ситуации div будет рушиться до 0 высоты, а не обтекать изображение.

См http://jsfiddle.net/p6Jzt/1/

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