2011-08-12 26 views
6

下のコードに従って、 "div"の "ul"を縦と横の中央に配置するのに役立つ人はいますか?divの縦と横の中心ul

ありがとうございました!

<div id="nav"> 
    <ul> 
    <li><a class="top" href="#top"><span></span></a></li> 
    <li><a class="bottom" href="#bottom"><span></span></a></li> 
    <li><a>Link 1</a></li> 
    <li><a>Link 2</a></li> 
    </ul> 
</div> 

CSS

#nav { 
    height:35px; 
    border-bottom:1px solid #ddd; 
    position:fixed; 
    top:0px; 
    left:0px; 
    right:0px; 
    background:#fff url(../images/navigation/nav.png) repeat-x center left; 
    z-index:999999; 
} 

#nav ul { 
    list-style:none; 
    margin:auto; 
    float:left; 
    padding:0; 
    display: block; 
} 

#nav ul li { 
    display:inline; 
    float:left; 
    margin:0px 2px; 
} 

#nav a { 
    font-size:13px; 
    font-weight:bold; 
    float:left; 
    padding: 2px 4px; 
    color:#999; 
    text-decoration: none; 
    border:1px solid #ccc; 
    cursor: pointer; 
    background:transparent url(../images/navigation/overlay.png) repeat-x center left; 
    height:16px; 
    line-height:16px; 
} 

#nav a:hover { 
    background:#D9D9DA none; 
    color: #fff; 
} 

#nav a.top span, #nav a.bottom span { 
    float:left; 
    width:16px; 
    height:16px; 
} 

#nav a.top span { 
    background:transparent url(../images/navigation/top.png) no-repeat center center; 
} 

#nav a.bottom span { 
    background:transparent url(../images/navigation/bottom.png) no-repeat center center; 
} 
+0

あなたは "float:left"と "margin:auto"を組み合わせることはできません、彼らはちょうど左側で終わり、 "#nav ul"で "float:left" whit "width:200px;ボーダー:!赤い固体1pxの;」とし、その中心 –

答えて

10

使用display: inline-block。リンクを追加または削除しても機能し続けるので、これは良いことです。

を参照してください:私が作ったhttp://jsfiddle.net/thirtydot/VCZgW/

重要な変更:

#nav { 
    /*height:35px;*/ 
    padding: 6px 0; 
} 
#nav ul { 
    /*float:left;*/ 
    text-align: center; 
} 
#nav ul li { 
    /*float:left;*/ 
    vertical-align: top; 
    display: inline-block; 
} 
+0

それが動作クールはどうもありがとうございまし – shub

0

行うには正しい事はこれです:

あなたはul {display:table; margin:0 auto;}

にスタイルを入れていることすべて;)

+0

これが唯一の水平 – Erdnuss

+0

水平と垂直が、あなたはこの左を意味しているあなたのためにそれが唯一の水平の場合センター: '' '#を! /* float:left; */ vertical-align:top; } '' ' これはテーブルに変換しています。表のセルは中央と水平に配置されていますが、あなたが選ぶものに依存して、上、中、または中央に行くでしょう。 – iva

関連する問題