居中思想可以由很多方式實現,這篇文章采用absolute實現:由傳統方式開始到absolute獨立使用方式
方式一:傳統方式,父容器relateive,子元素absolute,然后left:50%,再margin-left:-width/2
<div class="ago"> <div class="mid"></div> </div> .ago{ width:400px; height:200px; background:#ccc; position:relative; } .mid{ width:50px; height:50px; background:red; position:absolute; left:50%; top:50%; margin:-25px 0 0 -25px; }
方式二:獨立使用 absolute 一
<div class="nb"> <div class="middle"></div> </div> .nb{ width:400px; height:200px; background:#ccc; text-align:center; overflow:hidden; } .middle{ display:inlineblock; *display:inline;*zoom:1; width:50px;height:50px; background:green; position:absolute; margin-left:-38px; margin-top:75px; } /*思想:將內部元素轉化成行內元素,再在要居中的元素前加個空格,相當一個行內元素, 然后將父元素text-align:center;把行內元素居中顯示了 然后將要居中的元素absolute,由於獨立使用absolute的跟性特性,它會脫離文檔流,並緊跟在空格的后面 最后通過調整margin-left的值進行居中 */
方式三:獨立使用 absolute 二,也是我比較推崇方式,尤其是在移動端,各種方便,管它是高矮胖搜呢,就是通吃,自從學會這種方式,媽媽再也不用擔心我的居中了。
<div class="db"> <div class="dm"></div> </div> .db{ width:400px; height:200px; background:#ccc; } .dm{ width:50px; height:50px; background:pink; position:absolute; left:0;right:0; top:0;bottom:0; margin:auto; } /*是不是很酷,我已完全不能自拔了*/
