CSS div水平垂直居中效果詳解

admin發表於2018-09-16

div元素水平居中效果在實際應用中非常常見,下面通過一段程式碼例項詳細介紹一下它的實現過程。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title> 
<style type="text/css"> 
.box{ 
  width:600px; 
  height:600px; 
  background-color:green; 
  margin:0px auto; 
  position:relative; 
} 
.ant{ 
  position:absolute; 
  width:200px; 
  height:200px; 
  left:200px; 
  top:200px; 
  background-color:red; 
} 
</style> 
</head> 
<body> 
<div class="box"> 
  <div class="ant"></div> 
</div> 
</body> 
</html>

上面程式碼實現ant元素在box元素中水平居中效果。

一.程式碼註釋:

[CSS] 純文字檢視 複製程式碼
.box{ 
  width:600px; 
  height:600px; 
  background-color:green; 
  margin:0px auto; 
  position:relative; 
}

首先設定父元素的尺寸分別為600px,背景顏色為綠色。

margin:0px auto設定box元素在它的父元素(body)中水平居中。

position:relative設定box元素為相對定位,這很關鍵,下面會有介紹。

[CSS] 純文字檢視 複製程式碼
.ant{  
  width:200px; 
  height:200px; 
  background-color:red; 
  position:absolute;
  left:200px; 
  top:200px; 
}

設定ant元素的尺寸為200px,背景色為紅色。

父元素使用相對定位,子元素就以它作為位移參考物件。具體可以參閱CSS的絕對定位

top屬性值計算方式:父元素的高度/2-子元素高度/2。

left屬性值計算方式:父元素寬度值/2-子元素寬度值/2。

使用flex彈性佈局更容易實現,具體參閱flex居中佈局程式碼例項一章節。

相關文章