如何在表格单元格内垂直对齐div?

时间:2012-06-12 04:16:35

标签: html css html-table vertical-alignment

如何垂直居中表格单元格内的div?

HTML:

<tr class="rowClass">
    <td class="cellClass">
        <div class="divClass">Stuff</div>
    </td>
</tr>

CSS:

.rowClass {
    vertical-align:middle !important;
    height:90px;
}

.cellClass {
    vertical-align:middle !important;
    height:90px;
}

.divClass {
    vertical-align:middle !important;
    height:90px;
}

我知道类定义是多余的,但我一直在尝试很多不同的东西。为什么解决方案(不管它是什么)不直观。我试过的“明显”解决方案都没有用。

4 个答案:

答案 0 :(得分:16)

无需在 .divClass 中定义height。写得像这样:

.cellClass {
    vertical-align:middle;
    height:90px;
    border:1px solid red;
}

选中此http://jsfiddle.net/ncrKH/

答案 1 :(得分:1)

我在这个问题上找到的最好的教程: How to vertically center stuff

答案 2 :(得分:0)

.divClass { margin-top:auto; }

<强> HTML

<table border=1>
<tr class="rowClass">
<td class="cellClass">
    <div class="divClass">Stuff</div>
</td>
</tr>
</table>

<强> CSS

.rowClass {
vertical-align:middle !important;
height:90px;
}

.cellClass {
vertical-align:middle !important;
height:90px;
}

.divClass {
margin-top:auto; 
 }​

Live Example

答案 3 :(得分:0)

没有任何css本身你可以使用valign="middle"尝试此代码。

<table width="100%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <th height="550" align="center" valign="middle" scope="col">

    <div>Hello</div>
    </th>
  </tr>
</table>