<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"
<HTML> 
<HEAD> 
<TITLE></TITLE> 
<script>
function init(){
var obj = document.getElementById("div1");
obj.style.top = (document.documentElement.offsetHeight - obj.offsetHeight)/2;
obj.style.left = (document.documentElement.offsetWidth - obj.offsetWidth)/2;
// 如果没有表头,document.documentElement.offsetHeight 改为 document.body.offsetHeight
// document.documentElement.offsetWidth 同上
}
</script>
</HEAD> <BODY onresize="init()" onload="init()"><div id="div1" style="width:300px;height:300px;background-color:blue;position:absolute;">这是绝对定位</div>
</BODY> 
</HTML> 

解决方案 »

  1.   

    刚才没有考虑到这问题,修改了一下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd"
    <HTML> 
    <HEAD> 
    <TITLE></TITLE> 
    <script>
    function init(){
        var obj = document.getElementById("div1");
        obj.style.top = (document.documentElement.offsetHeight - obj.offsetHeight) / 2  + document.documentElement.scrollTop;
        obj.style.left = (document.documentElement.offsetWidth - obj.offsetWidth)/2;
        // 如果没有表头,document.documentElement.offsetHeight 改为 document.body.offsetHeight
        // document.documentElement.offsetWidth 同上
    }
    window.onscroll = init;
    </script>
    </HEAD> <BODY onresize="init()" onload="init()"><div id="div1" style="width:300px;height:300px;background-color:blue;position:absolute;">这是绝对定位</div>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    </BODY> 
    </HTML>