我相信前端童鞋在平常的佈局中必定遇到過各類各樣的佈局情形,而各類居中的方法必定不佔少數。這裏我給你們分享幾種居中的方式,而且簡單的解析一下他們的原理。css
簡易代碼以下:前端
<style type="text/css" media="screen"> .box{ background:#ccc; height:100px; width:200px; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; } </style> <div class="box"> </div>
解析:這個主要是用position: absolute;來實現垂直居中.瀏覽器
能夠明顯的看出box脫離了本來的正常文檔流,body高度爲0。dom
top: 0; left: 0; bottom: 0; right: 0;
** ps:這裏去除了box的寬度限定 **瀏覽器會爲box元素包裹一層新的盒子,所以這個元素會填滿它相對父元素的內部空間,這個相對父元素能夠是body標籤,或者是一個非靜態(默認)定位的容器。 給元素設置了寬高之後,瀏覽器會阻止元素填滿全部的空間,根據margin: auto; 的要求,從新計算,幷包裹一層新的盒子。既然塊元素是絕對定位的,又脫離了普通文檔流,所以瀏覽器在包裹盒子以前會給margin-top和margin-bottom設置一個相等的值。 因而就產生了絕對居中的效果。 那若是想要在父容器裏面垂直居中呢。只須要給父容器添加
position: relative;
或者position: fixed;
都是能夠的。佈局
.part{ width:400px; height:400px; background:red; position:relative; } .box1{ background:#ccc; height:100px; width:200px; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; } <div class="part"> <div class="box1"> </div> </div>
絕對居中的好處:spa
今天這篇居中文章就寫到這了,以後還會介紹其餘幾種居中方法,請繼續關注哦!code