Menu Server Control实现哪些CSS规则作为水平菜单呈现?

时间:2010-10-02 22:32:55

标签: asp.net

对于RenderMode设置为“List”的ASP.NET菜单服务器控件,有一个“Orientation”属性,用于决定菜单是呈现为水平菜单还是垂直菜单。我比较了两个HTML源代码,但无法找出HTML / CSS代码的哪一部分设置了菜单的方向(无序列表)。

2 个答案:

答案 0 :(得分:1)

通常,(un)有序列表通过将列表项浮动到左侧来水平渲染:

li {
    float: left;
}

或通过使它们成为内联元素而不是块元素:

li {
    display: inline;
}

如果这是微软采取的方法,我不知道如何,但它可能类似。

答案 1 :(得分:1)

(ASP.NET 4)

使用以下代码(两个菜单,一个垂直,一个水平方向):

<asp:Menu runat="server">
    <Items>
        <asp:MenuItem Text="item1" />
        <asp:MenuItem Text="item2">
            <asp:MenuItem Text="item2.1" />
            <asp:MenuItem Text="item2.2" />
        </asp:MenuItem>
    </Items>
</asp:Menu>
<asp:Menu Orientation="Horizontal" runat="server">
    <Items>
        <asp:MenuItem Text="item1" />
        <asp:MenuItem Text="item2">
            <asp:MenuItem Text="item2.1" />
            <asp:MenuItem Text="item2.2" />
        </asp:MenuItem>
    </Items>
</asp:Menu>

这是您在Chrome的样式检查器中看到的第一个(垂直):

vertical menu styles

这是第二个(水平):

horizontal menu styles

所以差异是菜单项列表项上的内联{float:left},就像Cory Larson的第一个建议。