2014-02-20 55 views
1

這是代碼。注意那不是我的代碼。Dropmenu center align

HTML:

<div class="drop"> 
<ul class="drop_menu"> 
<li><a href='#'>Link 1</a> 
    <ul> 
    <li><a href='#'>Sub Link 1</a></li> 
    <li><a href='#'>Sub Link 2</a></li> 
    </ul> 
</li> 
<li><a href='#'>Link 2</a> 
    <ul> 
    <li><a href='#'>Sub Link 1</a></li> 
    <li><a href='#'>Sub Link 2</a></li> 
    <li><a href='#'>Sub Link 3</a></li> 
    <li><a href='#'>Sub Link 4</a></li> 
    </ul> 
</li> 
<li><a href='#'>Link 3</a> 
    <ul> 
    <li><a href='#'>Sub Link 1</a></li> 
    <li><a href='#'>Sub Link 2</a></li> 
    <li><a href='#'>Sub Link 3</a></li> 
    <li><a href='#'>Sub Link 4</a></li> 
    </ul> 
</li> 
</ul> 
</div> 

CSS:

.drop_menu { 
    background:#005555; 
    padding:0; 
    margin:0; 
    list-style-type:none; 
    height:30px; 

} 
.drop_menu li { float:left; } 
.drop_menu li a { 
    padding:9px 20px; 
    margin-left:auto; 
    margin-right:auto; 
    display:block; 
    color:#fff; 
    text-decoration:none; 
    font:12px arial, verdana, sans-serif; 
} 

/* Submenu */ 
.drop_menu ul { 
    position:absolute; 
    left:-9999px; 
    top:-9999px; 
    list-style-type:none; 
} 
.drop_menu li:hover { position:relative; background:#5FD367; } 
.drop_menu li:hover ul { 
    left:0px; 
    top:30px; 
    background:#5FD367; 
    padding:0px; 
} 

.drop_menu li:hover ul li a { 
    padding:5px; 
    display:block; 
    width:168px; 
    text-indent:15px; 
    background-color:#5FD367; 
} 
.drop_menu li:hover ul li a:hover { background:#005555; } 

我的問題是,我怎麼能中心 「鏈接1」, 「鏈接2」 和 「鏈接3」?在未來,我會添加更多的「鏈接4,5,6 ...」,所以我需要一個不需要「幾乎居中」的解決方案,而是一個永久的解決方案。

你能幫我嗎?

下面就來的jsfiddle一個鏈接,你可以看到代碼的工作 - http://jsfiddle.net/W5F3p/

我最誠摯的問候

+1

你有選擇,你的中心容器或你的容器的孩子,傳統的方式是'保證金:0 auto'塊元素或中心裏面的文本使用文本的' align:center' – 707

回答

1

使用文本的容器標記對齊,並設置列表中顯示inline-block的:

http://jsfiddle.net/W5F3p/1/

.drop 
{ 
    text-align: center; 
background:#005555;  
} 

有點哈克但不會把戲。

+0

您添加了寬度並顯示在.drop_menu上嗎? –

+0

不像我的那樣哈克。 :) http://jsfiddle.net/W5F3p/3/ – dnelson

+1

是的,對不起,我添加了寬度:自動和顯示:inline-block on .drop_menu –

2

如果您不支持IE7及以下版本,我會將li上的float:left更改爲display:inline-block,然後將text-align:center添加到父ul。

.drop_menu { 
    background:#005555; 
    padding:0; 
    margin:0; 
    list-style-type:none; 
    height:30px; 
    text-align:center; 
} 
.drop_menu li { display:inline-block; } 
.drop_menu li a { 
    padding:9px 20px; 
    margin-left:auto; 
    margin-right:auto; 
    display:block; 
    color:#fff; 
    text-decoration:none; 
    font:12px arial, verdana, sans-serif; 
} 

/* Submenu */ 
.drop_menu ul { 
    position:absolute; 
    left:-9999px; 
    top:-9999px; 
    list-style-type:none; 
} 
.drop_menu li:hover { position:relative; background:#5FD367; } 
.drop_menu li:hover ul { 
    left:0px; 
    top:30px; 
    background:#5FD367; 
    padding:0px; 
} 

.drop_menu li:hover ul li a { 
    padding:5px; 
    display:block; 
    width:168px; 
    text-indent:15px; 
    background-color:#5FD367; 
    text-align:left; 
} 
.drop_menu li:hover ul li a:hover { background:#005555; } 

在這裏看到:http://jsfiddle.net/s6Jcx/1/