2012-07-21 152 views
1

好了,这是推动我坚果:http://jsfiddle.net/C3YMJ/2/
的图像应该在div垂直居中,但你可以看到,这是稍微偏离中心。我无法完全确定它的中心位置。任何帮助将非常感激。
谢谢。CSS垂直对齐稍微偏离

+1

你应该采取JSW189的答案,它是唯一不强制解决方案... – Luis 2012-07-21 14:04:53

回答

3

您可以使用CSS属性position垂直居中图像:

div { 
    position:relative; 
} 

img { 
    position:absolute; 
    top:0; 
    bottom:0; 
    margin:auto; 
} 

JS小提琴:http://jsfiddle.net/C3YMJ/22/

+0

+1这确实是最好的解决方案。无论父母身高如何,都能正确居中并工作。 – techfoobar 2012-07-21 14:08:59

+0

是的!最后是有效的东西。谢谢,JSW189! – Abraham 2012-07-21 14:29:38

-1

您的代码不起作用。如果你增加两个高度,它是完全不居中:http://jsfiddle.net/WouterJ/C3YMJ/3/

查看Centering in the unkown文章从克里斯Coyier欲了解更多信息如何解决这个问题。

编辑:删除错误的语句。

+0

垂直 - 对齐不仅适用于表格。 – Rob 2012-07-21 13:44:55

+0

@Rob抱歉,我以为是。我已将它从答案中删除,谢谢。 – 2012-07-21 13:46:46

1

您可以删除vertical-align属性,它不起作用,因为图像没有可应用的子元素。

div上使用line-height: 20px;

+0

我正在看这个。稍等一下。 – Abraham 2012-07-21 13:56:03

+0

我想这会帮助我,谢谢。 – Abraham 2012-07-21 13:57:44

+0

这样做的缺点是,如果div的'height'改变了,你还必须改变'line-height'。 – JSW189 2012-07-21 13:59:52

0

我会采取高度关div和在顶部和底部使用填充代替。

html: <div><img src="https://www.google.com/images/srpr/logo3w.png" height="10" /></div>​ 
css: div {background-color: blue; padding: 5px 0;} 

这将使它在中间对齐。