javascript設定層在視窗中垂直水平居中

admin發表於2017-03-20

將一個div層設定為垂直水平居中狀態是常有的操作,例如彈出一個登陸框或者提示框之類的效果,下面就通過程式碼例項介紹一下如何實現此功能,程式碼如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
*{
  margin:0px;
  padding:0px;
}
#thediv{
  width:100px;
  height:100px;
  background-color:red;
  position:absolute;
}
</style>
<script type="text/javascript"> 
function setCenter(){ 
  var odiv = document.getElementById("thediv"); 
  odiv.style.left="50%";
  odiv.style.top="50%";
  odiv.style.marginLeft="-50px";
  odiv.style.marginTop="-50px";
} 
window.onload=function(){
  setCenter();
}
</script> 
</head>
<body>
<div id="thediv"></div>
</body>
</html>

以上程式碼實現了我們的要求,下面簡單介紹一下它的實現原理。

實現原理:

將div設定為絕對定位, 然後設定它的left和top屬性值分別為50%,這個時候是div的左上角實現了垂直水平居中,而這裡要的是div的中心點垂直水平居中,所以再分別上移和左移高度和寬度的一半尺寸即可實現此效果。

相關文章