Why does the code below not cause the <table>
to be vertically-aligned in the middle of the <div>
?
<div style="width: 850px; height: 470px;vertical-align: middle;" align="center">
<table style="padding-left: 20px; width: 700px; border: 10px groove #0033CC; background-color: #F9F9F9;">
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr> <tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
</div>
I want the <table>
in the middle of the <div>
, but it is at the top! How can I fix this?
Thanks for your future advice.
try this:
it worked for me!!
Try this:
table
is a block element. To get it to vertically align, I think it needs to be displayed asinline
.inline-block
will often give you the best of both worlds in situations like these. Cheers!Outside of table cells,
vertical-align
sets the vertical alignment of text within a line, rather than the vertical alignment of entire elements like your table.However, if you set
display: table-cell;
on your<div>
, that seems to achieve the effect you want.I’m not sure how many browsers support this though. I’ve checked in Chrome 6, Firefox 2 and Opera 10.5, and they’re fine with it. Internet Explorer could be a different matter.
Its easy. Always use this >> style="vertical-align:middle" << inside every TD. You can use top, middle and bottom. You can push it in the CSS too.