方式一:传统方式,父容器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:;
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:;right:;
top:;bottom:;
margin:auto;
}
/*是不是很酷,我已完全不能自拔了*/