未知高度元素的垂直居中(js实现) 作者:ONEBOYS 未知高度(即高度不确定)元素的垂直居中,虽说这个布局的实际应用不是很多,但在网上讨论的却很多,而且往往联系到某公司的招聘题。 之前有收集过几个纯CSS的做法:点这里 不过,当然没有用Js来做的简单明了啦。 <!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>未知高度元素的垂直居中方法(JS)</title> <script type="text/javascript"> function vMiddle(){ var middleDiv=document.getElementById("wrap"); var divHeight=middleDiv.offsetHeight; var bodyHeight=document.body.offsetHeight ; if(bodyHeight>divHeight) middleDiv.style.marginTop=-divHeight/2+"px"; else{ middleDiv.style.marginTop=0; middleDiv.style.top=0; } } </script> <style type="text/css"> html,body{height:100%;padding:0;margin:0;} #wrap{width:800px;margin:0 auto;border:1px solid red;position:absolute;top:50%;left:50%;margin-left:-400px;} </style> </head> <body onload="vMiddle();"> <div id=wrap> <a href=http://www.cssass.com/digg target=_blank>cssass的分享</a><br/> <a href=http://www.cssass.com/digg target=_blank>cssass的分享</a><br/> <a href=http://www.cssass.com/digg target=_blank>cssass的分享</a><br/> <a href=http://www.cssass.com/digg target=_blank>cssass的分享</a><br/> <a href=http://www.cssass.com/digg target=_blank>cssass的分享</a><br/> <a href=http://www.cssass.com/digg target=_blank>cssass的分享</a><br/> <a href=http://www.cssass.com/digg target=_blank>cssass的分享</a><br/> </div> </body> </html> 上面的垂直居中,是相对于整个屏幕来说的。如果是在某个div中垂直居中,方法也一样,稍微修改下就可以了。 转发到新浪微博 没有相关文章. 标签: 垂直居中 这篇文章发布于 2009年04月28号,星期二,12:48,归类于 javascript。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以留下评论,或者从您的站点trackback。