由于要居中显示,所以要计算DIV的起始位置,也就是离浏览器最上边的位置,也就是body的最上面
最初用document.body.cilentHeight 获得高度,但是获得的高度总是0. 后来查阅了一下,知道现在正确的写法应该是document.documentElement.clientHeight.
根据计算,我们设定要居中的DIV 的Y坐标,应该为 var positionY = (document.documentElement.clientHeight - document.getElementById("mainDiv").clientHeight)/2;
然后便有:
由于要居中显示,所以要计算DIV的起始位置,也就是离浏览器最上边的位置,也就是body的最上面
最初用document.body.cilentHeight 获得高度,但是获得的高度总是0. 后来查阅了一下,知道现在正确的写法应该是document.documentElement.clientHeight.
根据计算,我们设定要居中的DIV 的Y坐标,应该为 var positionY = (document.documentElement.clientHeight - document.getElementById("mainDiv").clientHeight)/2;
然后便有:

Code
<body id="body" style="text-align:center;">
<div id="mainDiv" style="position:relative; width:300px; margin:auto; border:1px solid #009999; min-height:10px; max-height:none;">
<div style=" height:30px; border:2px #336633 dashed; margin:10px;">内容1</div>
<div style=" border:1px #990000 dotted; min-height:10px; margin:10px; max-height:none;">内容2</div>
<div style=" border:1px #0000FF dotted; margin:10px; height:52px;">内容3</div>
</div>
</body>
<script type="text/javascript" language="javascript">
var positionY = (document.documentElement.clientHeight - document.getElementById("mainDiv").clientHeight)/2;
document.getElementById("mainDiv").style.top = (positionY-60)+"px"
document.write(document.documentElement.clientHeight+"||"+ document.getElementById("mainDiv").offsetHeight+"||"+document.getElementById("mainDiv").style.top);
</script>
这里给张其它兄弟画的图,还是很有搜藏价值
