私は次のコードを持っています:
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" staticdisplaylevels="2"
EnableViewState="False" IncludeStyleBlock="False" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Homepage">
<asp:MenuItem Text="New Element" Value="New Element"></asp:MenuItem>
<asp:MenuItem Text="New Element" Value="New Element"></asp:MenuItem>
<asp:MenuItem Text="New Element" Value="New Element"></asp:MenuItem>
</asp:MenuItem>
<asp:MenuItem NavigateUrl="~/About.aspx" Text="Info"/>
</Items>
</asp:Menu>
これは、単純な静的 .NET メニュー コントロールです。また、サブメニューは、トップ メニュー項目のstaticdisplaylevels="2"
ように同じ行に静的に表示されます。しかし、サブメニュー項目がトップメニュー項目行の下の別の行に表示されることを望みます。どうやってやるの?CSS で配置できるすべてのサブメニュー項目に CSS クラスを与える方法はありますか?
生成された HTML は次のとおりです。
<ul class="level1 static" tabindex="0" style="position: relative; width: auto; float: left;" role="menubar">
<li class="static" role="menuitem" style="position: relative; float: left;">
<a class="level1 static" href="Default.aspx" tabindex="-1">Homepage</a>
</li>
<li class="static" role="menuitem" style="position: relative; float: left;">
<a class="level2 static" href="#" tabindex="-1">New Element</a>
</li>
<li class="static" role="menuitem" style="position: relative; float: left;">
<a class="level2 static" href="#" tabindex="-1">New Element</a>
</li>
<li class="static" role="menuitem" style="position: relative; float: left;">
<a class="level2 static" href="#" tabindex="-1">New Element</a>
</li>
<li class="static" role="menuitem" style="position: relative; float: left;">
<a class="level1 static" href="About.aspx" tabindex="-1">Info</a>
</li>
</ul>