未修改前HTML代码:
<tr id="voteShow">PS:td(th)如果没有指定valign属性值,则默认为middle。
<th>
投票情况统计:
</th>
<td colspan="3">
<div id="Chart" align="center">
</div>
</td>
</tr>
以上代码中“投票情况统计:”在IE8中不能垂直居中(如下图所示),IE7、IE8兼容视图、Firefox、Chrome等浏览器下都能垂直居中(可恨的IE8),经尝试vertical-align、valign、padding相等的值等方式均无效。
最后只能采用一种折中的办法,这种办法也适用于其他版本浏览器。利用3层div:设置第一层(最外层)div的style="position: relative;",第二层(中间一层)style="position: absolute; top: 50%;",然后第三层(最内层)div的style="position: relative; top: -50%;"
修改后的HTML代码为:
<tr id="voteShow">
<th>
<div style="position: relative;">
<div style="position: absolute; top: 50%;">
<div style="position: relative; top: -50%;">
投票情况统计:
</div>
</div>
</div>
</th>
<td colspan="3">
<div id="Chart" align="center">
</div>
</td>
</tr>
页面显示为: