0

我有以下代码:

<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>
4

2 回答 2

1

您可以在样式表中使用以下代码

.menu{}
.menu table table {
                   margin-top:10px;}

并在您的菜单中添加上述类。

于 2012-06-19T12:12:16.187 回答
0

不,没有内置属性来设置它的样式。

但是你可以使用这样的风格。鉴于 asp 如何呈现其菜单(在表格中),这将允许您向内部表格添加样式。

<style>
    .menu{background: #eee;}
    .menu table table {background: #ddd;}
</style>
于 2012-06-19T11:49:13.483 回答