这个问题主要是由于display设置没了,他的位置就被旁边的给占去了。所以最好再自己设置下宽度,下面的代码可以,宽度不合适的话你再自己调下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>hehe</title>
<style type="text/css">
.td-mid {background-color:#FFFF00; cursor:pointer;}
.td-mid1 {background-color:#00FFFF; cursor:pointer;}
</style>
</head>
<body topmargin="0" leftmargin="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="1">
  <form name="policyform" action="" method="POST">
    <tr>
      <td valign="top" class="OB-BC" style="width:20%;background-color:#3300FF " id="leftMenu"><table width="100%" border="0" cellpadding="0" cellspacing="1">
          <tr>
            <td valign="top"><table width="100%"  border="0" cellpadding="2" cellspacing="2">
                <tr>
                  <td ><table width="100%" cellspacing="0" cellpadding="0">
                      <tr>
                        <td width="8%">&nbsp;</td>
                        <td width="92%">左边</td>
                      </tr>
                    </table></td>
                </tr>
              </table></td>
          </tr>
        </table></td>
      <td style="width:2%;" class="td-mid" valign="top" id="menuSwitch" onClick="changeLeft()"></td>
      <SCRIPT language="javascript" type="text/javascript">
//把左边菜单隐藏
function changeLeft()
{
left = document.getElementById("leftMenu");
mid=document.getElementById("menuSwitch");
right=document.getElementById("rightMenu");
if(left.style.display == ''){
left.style.display = 'none';
mid.className = 'td-mid1';
mid.style.width='3%';
right.style.width='97%';

}
else{
left.style.display = '';
mid.className = 'td-mid';
mid.style.width='2%';
right.style.width='78%';


}
}
  </SCRIPT>
      <td valign="top" style="background-color:#FF0000;width:78% " id=rightMenu>
        <table cellpadding="2" cellspacing="1" width="100%" border="0">
          <tr align="center">
            <td><table width="100%" cellspacing="0" cellpadding="0">
                <tr>
                  <td>右边</td>
                </tr>
              </table></td>
          </tr>
        </table></td>
    </tr>
    <tr>
      <td height="25" colspan="3" style="background-color:#00FF00 ">copyright</td>
    </tr>
  </form>
</table>
</body>
</html>

解决方案 »

  1.   

    我中间是放一个8px的图片的 一拉开很丑就不说 宽度会随着右边内容的多少而变化
    但是在firefox中是正常的
      

  2.   

    跟底下的copyright行有关系;
    将上面的三列和下面的COPYRIGHT不要放在一个table标签里,在外面放一个两行一列的表格组织排版就可以了
      

  3.   

    to csdntzg:是的 确实是copyright造成的
    可是页面的结构早就定下来的 而且在工程中已经用了n次了
    要翻出来改很麻烦的
    有没有不改结构 而是直接修改js来搞定的?