可以用CSS来实现。比如你的表格区域宽度800,高度500的话。.always-center{
  position:fixed;
  width:800px;
  height:500px;
  z-index:99;
  top:50%;
  left:50%;
  margin-left:-400px;
  margin-top:-250px;
}
<div class="always-center">
   <!-- table here -->
</div>这个div放到</body>的前面,然后把你的table代码写到这个层里,就一直居中了。

解决方案 »

  1.   

    风骑士你好 谢谢你帮忙不过我要求是 没有div 在html的body里就一个table
    然后屏幕的分辨率是要根据不同的电脑来确定的 也就是说不能写硬编码 800px。
    怎么办呢?
      

  2.   

    上面这回贴有人能删了不?你可以区分浏览器,IE6中position:fixed是不起作用的,你必须在onresize事件中动态的将table设置为position:absolute,然后设置其left=(页面宽 –table的宽) /2;top=(页面高 –table的高)/ 2;计算中因为需要用到table的实际宽和高,所以你也必须先填充好了table的内容以后才行
      

  3.   

    谢谢crying_boy的解答 怎么获取页面宽和table的宽等数据呢
    俺javascript才人门 能劳烦你给个实例么?
      

  4.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>无标题页</title>
        <style type="text/css">
        body{height:3000px;}
        #test{width:500px;height:300px;border:1px solid red; position:fixed;margin:auto;top:0; left:0;bottom:0;right:0;}
        </style>
        <!--[if lte IE 6]>
        <style> 
            #test{width:auto;height:auto;border:1px solid red; position:absolute;}
        </style>   
        <script type="text/javascript">
        function makeFixed(){
            var _div            =   document.getElementById('test'),//获取待操作对象,table可放在里面
                _clientWidth    =   (document.documentElement || document.body).clientWidth,//获取当前可见区域宽度     
                _clientHeight   =   (document.documentElement || document.body).clientHeight,//获取当前可见区域高度     
                //获取距顶部偏移量:可见区域距离最顶部+(当前可见区域高度-table高)/2:并保证当table高度超出后,使table头显示在最上
                _top            =   (document.documentElement || document.body).scrollTop + (_div.offsetHeight>_clientHeight ? 0 : (_clientHeight-_div.offsetHeight)/2);
           _div.style.left      =   (_clientWidth-_div.offsetWidth)/2 +'px';
           _div.style.top       =   _top + 'px';
        };
        window.onload   =   makeFixed;
        window.onresize =   makeFixed;
        window.onscroll =   makeFixed;
        </script>
        <![endif]-->
    </head>
    <body>
    <div id="test"><table><tbody><tr><td>1</td></tr><tr><td>2</td></tr></tbody></table></div>
    </body>
    </html>如果你的层可以固定高度和宽度,上面的代码不需要修改即可运行
    如果你的层不允许固定高度和宽度,则将第一个#test{width:500px;height:300px;border:1px solid red; position:fixed;margin:auto;top:0; left:0;bottom:0;right:0;}定义删除,将<!--[if lte IE 6]>和<![endif]-->删除
      

  5.   

    非常谢谢crying_boy给的例子 
    我试验了下 确实能控制表格到中间
    不过有个小瑕疵就是 在浏览器中查看html文件时会看到table瞬间从左上角移到中间位置
    怎么消除这个瞬移的过程?
      

  6.   

    再问个问题 在test.html文件里有一个表格 如果我在表格中添加了一个button按钮 
    怎么通过button的点击来调用对应的test.ashx文件 然后再通过ashx文件关联上bll 和 dal模块
    的一些东西来处理需求。
    比如 现在我想通过button按钮来实现一个登陆功能 怎么让html文件调用上ashx文件?
      

  7.   

    如果谁能帮我解答 最好用原生的javascript 而不是调用JQuery库和其他库 谢谢。