2015-10-15 66 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使其响应。