2015-10-15 75 views
0

我看過很多關於這個主題的問題,但我似乎無法弄清楚我做錯了什麼仍然。我想讓菜單位於「菜單」div的中心位置,以便它始終位於中心位置,而不管屏幕尺寸/瀏覽器。居中CSS菜單裏面div

這裏是我有我的HTML和CSS:

.site-navigation { 
 
    display: block; 
 
    font-family: 'Georgia'; 
 
    font-size: 18px; 
 
    font-weight: bold; 
 
\t position:relative; 
 
\t margin-left:auto; 
 
\t margin-right: auto; 
 
\t \t 
 
} 
 

 
.site-navigation ul { 
 
    background: #202020; 
 
    list-style: none; 
 
    margin: auto; 
 
    padding-left: 0; 
 
} 
 

 
.site-navigation li { 
 
    color: #d29500; 
 
\t background: #202020; 
 
    display: block; 
 
    float: left; 
 
    margin: 0 2px 0 0; 
 
    padding: 12px; 
 
    position: relative; 
 
    text-decoration: none; 
 
    text-transform: uppercase; 
 
} 
 
    
 
.site-navigation li a { 
 
    color: #d29500; 
 
    text-decoration: none; 
 
    display: block; 
 
} 
 

 
.site-navigation li:hover { 
 
    @include transition(background, 0.2s); 
 
    background: #000000; 
 
    cursor: pointer; 
 
} 
 

 
.site-navigation ul li ul { 
 
    background: #000000; 
 
    visibility: hidden; 
 
    float: left; 
 
\t min-width: 150px; 
 
    position: absolute; 
 
\t transition: visibility 0.65s ease-in; 
 
\t margin-top:12px; 
 
    left: 0; 
 
    z-index: 999; 
 
} 
 

 
.site-navigation ul li:hover > ul, 
 
.site-navigation ul li ul:hover { 
 
    visibility: visible; 
 
} 
 

 
.site-navigation ul li ul li { 
 
    clear: both; 
 
    padding: 5px 0 5px 18px; 
 
    width: 100%; 
 
} 
 

 
.site-navigation ul li ul li:hover { 
 
    background: #000000; 
 
} \t
<div id= "menu"> 
 
<div class="site-navigation" > 
 
    <ul class="menu"> 
 
    <li class="menu-item"><a href="#">Home</a></li> 
 
    <li class="menu-item"><a href="#">About Us</a> 
 
     <ul class="dropdown"> 
 
     <li class="menu-item sub-menu"><a href="#">Location</a></li> 
 
\t \t <li class="menu-item sub-menu"><a href="#">Contact</a></li> 
 
     </ul> 
 
    </li> 
 
\t <li class="menu-item"><a href="#">Schedule</a></li> 
 
\t <li class="menu-item"><a href="#">Roster</a></li> 
 
    <li class="menu-item"><a href="#">Alumni Corner</a></li> 
 
    <li class="menu-item"><a href="#">Gallery</a></li> 
 
    <li class="menu-item"><a href="#">Support</a></li> 
 
    </ul> 
 
</div> 
 
</div>

任何幫助,將不勝感激!

回答

1

只需添加

#menu 
{ 
    display: flex; 
} 

,它應該解決您的問題(確保這是支持你所需要的所有瀏覽器,雖然)

0

提議傑西您可以使用Flexbox的,但我會簡單地去與舊的display: inline-block;財產。如果你想支持IE10,您不能使用Flexbox的(見http://caniuse.com/#feat=flexbox

  1. 刪除background: #202020;並添加text-align: center;到。菜單
  2. 刪除float: left;和。菜單項改變display: blockdisplay: inline-block

由於空格字符,.menu-item之間的空白現在更大,這是由內嵌塊屬性引起的。

0

從您的.site-navigatioin li選擇器中刪除float:left規則,並將li的display屬性設置爲inline-block:http://prntscr.com/8rqehz 注意IE7不支持inline-block屬性。

1

如果你想以margin: 0 auto爲中心的元素,它需要有一個設置寬度。您可以使用percentages使其響應。