2014-01-23 3 views
0

Вопрос такой же: Extra spacing after an A Tag/img tag? Но решение было применить дисплей: блок к изображению, но если я это сделаю, мой вертикальный вылет потерян.table-cell> img extra 4px space

<div class="main" style="display:table;"> 
    <div style="display:table-cell;"> 
     <img src="http://www.w3schools.com/images/w3logotest2.png" /> 
    </div> 
</div> 

скрипку: http://jsfiddle.net/Zf34P/ высота IMG: 32px, высота родительского DIV: 36px. Невозможно найти способ удалить его и сохранить vertical-align: middle; text-align: center;, чтобы изображение было центрировано. Эти 4 пикселя действительно раздражают, когда высота изображения установлена ​​на высоту окна через JavaScript, поэтому появляется полоса прокрутки. Любые идеи, как удалить его? Благодарю.

+0

Если у вас нормально использовать margin: auto вместо text-align: center. Дисплей: flex должен заключить сделку. http://jsfiddle.net/LG68Q/ – Yoann

+0

не работает, также он был устаревшим, не так ли? – zavr

+0

@Yoann благодарит! :) – zavr

ответ

2

Когда вы установите изображение в блок элемента вам необходимо отцентрировать его в качестве элемента блока с margin: 0 auto.

http://jsfiddle.net/LG68Q/2/

@ решение Йоанна также работает, но значение flex не поддерживается каждым браузером. Посмотрите на MDN docs для получения дополнительной информации о поддержке браузера и значениях display.

+0

Я думал, что это не будет работать с вертикальным выравниванием родительского набора до середины, но это так. благодаря! – zavr

0

Если у вас нормально использовать margin: auto вместо text-align: center. Дисплей: flex должен заключить сделку.

display:flex 

http://jsfiddle.net/LG68Q

+0

спасибо! но поддерживается ли она всеми браузерами? – zavr

+0

например IE <10 не поддерживает это – zavr

+0

извините @Yoann, но Eich'es решение лучше) спасибо, хотя – zavr

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