要是让我写浏览器我会这样定义显示规则:没有指定z-index或者指定了相同z-index的情况下,后定义的元素总是显示在先定义的函数的上面。不知浏览器的设计者是否和我一样的想法?<table>
<tr>
<td>aa</td>
<td rowSpan=3 bgcolor=red>bb<BR>bb<BR>bb</td>
<td>cc</td>
</tr>
<tr>
<td colspan=3 bgcolor=blue>ddddddddddd</td>
</tr>
<tr>
<td>dd</td><td>ff</td>
</tr>
</table>
<tr>
<td>aa</td>
<td rowSpan=3 bgcolor=red>bb<BR>bb<BR>bb</td>
<td>cc</td>
</tr>
<tr>
<td colspan=3 bgcolor=blue>ddddddddddd</td>
</tr>
<tr>
<td>dd</td><td>ff</td>
</tr>
</table>
<BR><BR>
<table>
<tr>
<td>aa</td>
<td rowSpan=3 bgcolor=red>bb<BR>bb<BR>bb</td>
<td>cc</td>
</tr>
<tr>
<td colspan=3 id="test" bgcolor=yellow>ddddddd</td>
</tr>
<tr>
<td>dd</td><td>ff</td>
</tr>
</table>
<SCRIPT LANGUAGE="JavaScript">
<!--
function init(){
var elm = document.getElementById("test")
with(elm.style){
position="absolute";
zIndex=-1;
top=getTop(elm.parentNode)-10;
}
}
function getTop(elm){
if (elm==document.body || elm==null) return 0;
return getTop(elm.parentNode)+elm.offsetTop;
}
//-->
</SCRIPT>
</BODY>
虽然可以实现你要的效果,但是为什么有10个像素的误差我也说不上(好像不关marginheight的事?)。而且在定义了border的情况下显示错误,在ns和moz下面也不对,总之最好不要这样写啦。
<BODY onload=init()>
<BR><BR>
<table border=1>
<tr>
<td>aa</td>
<td rowSpan=3 bgcolor=red>bb<BR>bb<BR>bb</td>
<td>cc</td>
</tr>
<tr>
<td id="test" bgcolor=yellow colspan=3 style="position:absolute">ddddddd</td>
</tr>
<tr>
<td>ee</td><td>ff</td>
</tr>
</table>
<SCRIPT LANGUAGE="JavaScript">
<!--
function init(){
var elm = document.getElementById("test");
var c = elm.cloneNode(true);
elm.parentNode.insertBefore(c);
with(c.style){
position="relative";
zIndex=-1;
}
elm.style.visibility="hidden";
elm.parentNode.parentNode.parentNode.width=1}
//-->
</SCRIPT>
</BODY>
elm.parentNode.parentNode.parentNode.width=1
<BR><BR>
<table border=1>
<tr>
<td>aa</td>
<td rowSpan=3 bgcolor=red>bb<BR>bb<BR>bb</td>
<td>cc</td>
</tr>
<tr>
<td id="test" bgcolor=yellow colspan=3 style="position:relative;z-index=-1">ddddddd</td>
</tr>
<tr>
<td>ee</td><td>ff</td>
</tr>
</table>
</BODY>这回干净多了
<BODY>
<BR><BR>
<table border=1>
<tr>
<td>aa</td>
<td rowSpan=3 bgcolor=red>bb<BR>bb<BR>bb</td>
<td>cc</td>
</tr>
<tr>
<td id="test" bgcolor=yellow colspan=3 style="position:relative;z-index=-1">ddddddd</td>
</tr>
<tr>
<td>ee</td><td>ff</td>
</tr>
</table>
</BODY>