2013-12-18 3 views
-1

Я не могу центрировать панель меню по горизонтали. Нет. основных пунктов меню может включать/выключить. с каждым входом пользователя. Этот код заставляет панель меню начинаться примерно на 30% слева. Пробный дисплей: встроенный блок и дисплей: таблица для #menuContainer.горизонтальный центр asp menu

Если есть 5 пунктов главного меню, и я установил ширину #menuContainer на 30%, он окажется центрированным.

ASPX:

<div id="divMenu"> 
<div id="menuContainer"> 
    <asp:Menu id ="menuBar" runat="server" Orientation="Horizontal" 
    IncludeStyleBlock="false"> 
    <item> 
    <asp:MenuItem Text="Home"></asp:MenuItem> 
    <asp:MenuItem Text="Folio"> 
     <asp:MenuItem Text="Nature"></asp:MenuItem> 
     <asp:MenuItem Text="People"> 
     <asp:MenuItem Text="Tribe"></asp:MenuItem> 
     </asp:MenuItem>  
    </asp:MenuItem> 
    <asp:MenuItem Text="Contact"></asp:MenuItem> 
    </items> 
    </asp:Menu> 
    </div> 
</div> 

CSS:

#divMenu 
{ 
position:fixed; 
left:0; 
top:7%; 
z-index:2; 
width:100%; 
height:5%; 
} 
#menuContainer 
{ 
width:50%; 
margin:0 auto; 
} 
#menuBar 
{ 
position:fixed; 
top:5.3%; 
} 
#menuBar ul 
{ 
list-style:none; 
background-color:silver; 
padding:0 5px; 
} 

СТАВШИМИ HTML:

<div id="divMenu"> 
    <div id="menuContainer"> 
    <a href="#menuBar_SkipLink"><img alt="Skip Navigation Links" src="/..sometext" 
    width="0" height="0" style="border-width:0px;" /></a> 
    <div id="menuBar"> 
     <ul class="level1"> 
     <li><a class="level1" href="#" onclick="...">Home</a></li> 
     <li><a class="popout level1" href="#" onclick="..">Folio</a> 
      <ul class="level2"> 
       <li><a class="level2" href="#" href="#" onclick="..">Nature</a></li> 
       <li><a class="level2" href="#" href="#" onclick="..">People</a> 
        <ul class="level3"> 
        <li><a class="level3" href="#" onclick="..">Tribe</a></li> 
        </ul> 
       </li> 
      </ul> 
      </li> 
      <li><a class="level1" href="#" onclick="...">Contact</a></li> 
     </ul> 
</div><a id="menuBar_Skiplink"</a></div></div> 
+0

что произойдет, если вы удалите стиль из '# menuBar'? – Morpheus

+0

Он перемещает свое положение по направлению к дну, как 20 px. Этот стиль делает его точно в #divMenu. – Ruby

+0

Он остается из-за «фиксированной» позиции. Добавьте также обработанный html (не asp one). – Morpheus

ответ

0

http://jsfiddle.net/Cck3V/

<div id="divMenu"> 
<div class="menuContainer"> 
     <a>Item 1</a> 
     <a>Item 2</a> 
    </div><br><br> 
<div class="menuContainer"> 
     <a>Item 1</a> 
     <a>Item 2</a> 
     <a>Item 3</a> 
    </div><br><br> 
<div class="menuContainer"> 
     <a>Item 1</a> 
     <a>Item 2</a> 
     <a>Item 3</a> 
     <a>Item 4</a> 
    </div><br><br> 
</div> 

-

-- css -- 
#divMenu {position:fixed;text-align:center;left:0;right:0;top:7%;z-index:2;height:5%;} 
.menuContainer {display:inline-block;margin:0 auto;background-color:silver;text-align:left;clear:both;} 
+0

Теперь он продвинулся дальше вправо. – Ruby

+0

'display: inline-block; margin-left: auto; margin-right: auto; text-align: left;' this центрирует меню, содержащее div, и родительский элемент должен иметь 'text-align: center' или'

' –

+0

Да, я понимаю маржу: 0 auto. Но вот что произошло :( – Ruby

Смежные вопросы