Ответ 1
Нет необходимости определять height
в .divClass. напишите вот так:
.cellClass {
vertical-align:middle;
height:90px;
border:1px solid red;
}
Отметьте http://jsfiddle.net/ncrKH/
Как вертикально центрировать 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;
}
Я знаю, что определения классов излишни, но я много раз пробовал. Почему это не решение (что бы это ни было) интуитивно понятно. Ни одно из "очевидных" решений, которые я пробовал, не будет работать.
Нет необходимости определять height
в .divClass. напишите вот так:
.cellClass {
vertical-align:middle;
height:90px;
border:1px solid red;
}
Отметьте http://jsfiddle.net/ncrKH/
.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;
}
Лучший учебник, который я когда-либо встречал по этому вопросу: Как вертикально сосредоточить материал
Без какого-либо 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>