我试图垂直对齐一个容器内的div
,高度已定义。我遵循http://www.vertical-align.com/的指南,但我遇到了一些问题。相对定位元素的负顶部边距(垂直对齐)的问题
据该网站,如果我用这个CSS与此代码:可用here
#containingBlock {
height: 200px;
position: relative;
overflow: hidden;
border: 1px solid red;
}
#containingBlock > div {
position: absolute;
top: 50%;
border: 1px solid green;
}
#containingBlock > div > div {
position: relative;
top: -50%;
border: 1px solid orange;
}
<div id="containingBlock">
<div>
<div>
This should be placed in the middle
</div>
</div>
</div>
小提琴,我应该完全在中间取得一个文本。但这不会发生,因为top: -50%
不起作用。根据Mozilla devtop
属性+%值应该基于父母的身高,在这种情况下,父母的身高与其孩子的身高相同。但“自动包装高度”似乎没有考虑到。如果我为父div指定一个明确的高度(我的意思是,第一个嵌套),一切似乎都可以,但我希望它自动获取其子的高度!这有什么问题?
这更感谢确定,但它不适用于传统浏览器(IE 6/7)。正因为如此,我正在使用上面提到的技术。不过谢谢你! P.S.我其实想理解为什么上述技术不起作用,而不是得到我所需要的:-)比方说,我更关心“如何”而不是“目标”! – Bertuz