IE8中实现垂直居中(兼容IE6、IE7、IE8,Firefox,Chrome等)

时间:2022-12-01 17:40:40

未修改前HTML代码:

<tr id="voteShow">
<th>
投票情况统计:
</th>
<td colspan="3">
<div id="Chart" align="center">
</div>
</td>
</tr>
PS:td(th)如果没有指定valign属性值,则默认为middle。


以上代码中“投票情况统计:”在IE8中不能垂直居中(如下图所示),IE7、IE8兼容视图、Firefox、Chrome等浏览器下都能垂直居中(可恨的IE8),经尝试vertical-align、valign、padding相等的值等方式均无效。

IE8中实现垂直居中(兼容IE6、IE7、IE8,Firefox,Chrome等)

最后只能采用一种折中的办法,这种办法也适用于其他版本浏览器。利用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>

页面显示为:

IE8中实现垂直居中(兼容IE6、IE7、IE8,Firefox,Chrome等)