【发布时间】:2011-07-25 07:01:18
【问题描述】:
这是我的相关页面标记:
<div id="header">
<div id="logo">
<a href="/">Home</a>
</div>
<div id="user_box">
test
</div>
</div>
还有我的相关 CSS:
#header {
width: 960px;
height: 110px;
}
#logo {
background: url('/assets/img/logo.png') no-repeat center;
width: 300px;
height: 110px;
float: left;
}
#user_box {
width: 300px;
height: 60px;
float: right;
vertical-align: middle;
}
现在,我想将user_box div 定位在header div 的垂直中间。经过大量的谷歌搜索和实验,我了解到这并不容易。显然,我无法垂直对齐 div 之类的块元素。所以我正在寻找一种不同的方法来做到这一点。
我看到了 hacky display: table; 方法并尝试使用它,但它并没有改变任何事情。还尝试将元素更改为像span 这样的内联元素,但这也不起作用。我什至出于某种糟糕的原因尝试使用margin: auto 0;,但这也根本不起作用。
所以我在寻求帮助。如何在我的标题 div 中垂直对齐这个 div?
谢谢!
【问题讨论】:
-
您可能希望使用
display:table-cell;来代替vertical-align:middle;css 属性,但这种显示类型会导致很多问题。
标签: css html block vertical-alignment