好的,所以这个问题已被多次询问和回答,但我仍然无法提供有效的解决方案。
我想垂直对齐到 DIV 中的中间任意元素。因此,上述问题中的链接教程说:
Specify the parent container as position:relative or position:absolute. Specify a fixed height on the child container. Set position:absolute and top:50% on the child container to move the top down to the middle of the parent. Set margin-top:-yy where yy is half the height of the child container to offset the item up.
代码中的一个示例:
<style type="text/css">
#myoutercontainer { position:relative }
#myinnercontainer { position:absolute; top:50%; height:10em; margin-top:-5em }
</style>
...
<div id="myoutercontainer">
<div id="myinnercontainer">
<p>Hey look! I'm vertically centered!</p>
<p>How sweet is this?!</p>
</div>
</div>
除了与教程上的屏幕截图相反,这不起作用。我唯一改变的是在外部 DIV 周围添加一个边框,这样您就可以看到垂直对齐方式。
所有这一切都是产生一个零高度的 DIV,它呈现为一条直线。如果为外部 DIV 添加高度,则可以看到内部内容,但实际上并没有垂直对齐内容。那么,为什么这个例子不起作用呢?