如何让不定宽度的UL相对父级DIV居中
ul居中在oprea和firefox中用margin:0 auto;和text-align:center;就可以轻松的实现了,然而在IE中确是居左显示的,具体的错误原因就有待高手去考证。
下面的方法可以轻松的实现ul居中显示,注意ul和li都必须定义float,否则无效哦。相信大家都知道float:left
和float:right
,那么是否想过float:center
呢?让UL居中浮动!
<div id="dondiv">
<ul>
<li>列表一</li>
<li>列表二</li>
<li>列表三</li>
</ul>
</div>
我们希望实现li是浮动的,并且居中的(注:li个数不固定,ul宽度未知)。可以设置ul的text-align:center
,再设置li的display,这样的话就可以实现居中,但这样不是我们的初衷,我们需要实现的是float:center
。
大家来了解下position:relative
,它是依据left,right,top,bottom等属性在正常文档流中偏移位置。那么就可以 让 ul为position:relative;left:50%
,然后再让li向左浮动,再让position:relative
;right:50%
(或 者left:-50%
),那么li就像向中间浮动一样居中了。
#dondiv{
position:relative;
width:100%;
height:80px;
background-color:#eee;
text-align:center;
overflow:hidden;
}
#dondiv .donul {
float:left;
position:relative;
left:50%;
}
#dondiv .donul li{
position:relative;
right:50%;
float:left;
margin:10px;
padding:0 10px;
border:solid 1px #000;
line-height:60px;
}
最后修改时间:2014年9月9日星期二晚上7点00