2014-01-23 113 views
0

问题与此类似: Extra spacing after an A Tag/img tag? 但是,解决方案是将display:block应用于图像,但如果我这样做,我的垂直对齐将丢失。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;以使图像居中。当图像高度通过JavaScript设置为窗口高度时,这4个像素真的很烦人,所以会出现滚动条。任何想法如何删除它?谢谢。

+0

如果您可以使用margin:auto代替text-align:center。显示器:flex应该交易。 http://jsfiddle.net/LG68Q/ – Yoann

+0

不工作,它也被弃用了不是它 – zavr

+0

@Yannn谢谢它的作品! :) – 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