2010-08-17 4 views
1

Mon CSS ressemble à ceci:Comment aligner asp: Menu dans le tag DIV?

#menu 
{ 
width: 1024px; 
height: 25px; 
margin: 0 auto; 
text-align: right; 
background-color: Red; 
} 

Ma page asp ressemble à ceci, (dans le fragment):

 <asp:Menu ID="mnuMainMenu" runat="server" BackColor="#F7F6F3" 
      DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="Medium" 
      ForeColor="#7C6F57" 
      Orientation="Horizontal" StaticSubMenuIndent="10px" Font-Bold="True"> 
      <StaticSelectedStyle BackColor="#5D7B9D" /> 
      <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> 
      <DynamicHoverStyle BackColor="#7C6F57" ForeColor="White" /> 
      <DynamicMenuStyle BackColor="#F7F6F3" /> 
      <DynamicSelectedStyle BackColor="#5D7B9D" /> 
      <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> 
      <StaticHoverStyle BackColor="#7C6F57" ForeColor="White" /> 
      <Items> 
       <asp:MenuItem Text="Projekty" Value="Projekty"></asp:MenuItem> 
       <asp:MenuItem Text="Licencje" Value="Licencje"></asp:MenuItem> 
       <asp:MenuItem Text="Kontrahenci" Value="Kontrahenci"></asp:MenuItem> 
      </Items> 
     </asp:Menu> 

Je veux avoir le menu aligné sur le côté droit de ma balise div. L'alignement doit être fait automatiquement, si j'ajoute plus de menu, le menu devrait se réaligner. Cela fonctionne comme prévu sous vue partagée dans VS 2008, mais dans IE et FireFox le menu est aligné à gauche. Comment régler ce problème?

Merci pour votre temps.

+0

envelopper le menu dans un div et le faire flotter à droite? – Joakim

+0

Merci, cela fonctionne. Pourquoi ne créez-vous pas une réponse? – Wodzu

Répondre

3

Vous pouvez envelopper le menu dans une balise div et le configurer pour flotter à droite, ce qui fait que certaines balises html peuvent également flotter sur son côté.

1

J'ai copié/collé votre code dans un nouveau formulaire Web. Peut-être que cela fonctionnera pour vous: (j'ai ajouté une classe à la div autour de votre menu et flottaient à droite)

<head runat="server"> 
<title></title> 
<style type="text/css""> 
#menu 
{ 
width: 1024px; 
height: 25px; 
margin: 0 auto; 
text-align: right; 
background-color: Red; 
} 

#menuContainer{float: right;} 

</style></head> 

<body><form id="form1" runat="server"> 
<div id="menuContainer"> 

<asp:Menu ID="mnuMainMenu" runat="server" BackColor="#F7F6F3" 
     DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="Medium" 
     ForeColor="#7C6F57" 
     Orientation="Horizontal" StaticSubMenuIndent="10px" Font-Bold="True"> 
     <StaticSelectedStyle BackColor="#5D7B9D" /> 
     <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> 
     <DynamicHoverStyle BackColor="#7C6F57" ForeColor="White" /> 
     <DynamicMenuStyle BackColor="#F7F6F3" /> 
     <DynamicSelectedStyle BackColor="#5D7B9D" /> 
     <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> 
     <StaticHoverStyle BackColor="#7C6F57" ForeColor="White" /> 

     <Items> 
      <asp:MenuItem Text="Projekty" Value="Projekty"></asp:MenuItem> 
      <asp:MenuItem Text="Licencje" Value="Licencje"></asp:MenuItem> 
      <asp:MenuItem Text="Kontrahenci" Value="Kontrahenci"></asp:MenuItem> 
     </Items> 
    </asp:Menu> 
</div> 
</form> 

+0

Merci Roger, Joakim était le premier, alors je vais lui donner la réponse. – Wodzu

+0

Eh bien, votre problème est résolu. C'est important ici! – Roger

0

C'est un vieux fil, mais la façon actuelle de faire cela est dans le "Properties" du menu lui-même, il suffit de mettre StaticMenuStyle-CssClass="menu" et d'utiliser le même style css comme ci-dessus.