0

我正在尝试在现有菜单控件的同一行中添加第二个菜单控件,但我无法做到。

<div class="clear hideSkiplink">
            <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
                <Items>
                    <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
                    <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
                </Items>
            </asp:Menu>
            <asp:Menu ID="SmallMenu" runat="server" CssClass="smallMenu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
                <Items>
                    <asp:MenuItem NavigateUrl="~/Settings.aspx" Text="Settings"/>
                    <asp:MenuItem NavigateUrl="~/Admin.aspx" Text="Admin"/>
                </Items>
            </asp:Menu>
        </div>

尝试使用 CSS 对其进行格式化,但它不起作用。第二个菜单出现在一个新行中。我在这里做错了什么?

div.menu
{
    padding: 4px 0px 4px 8px;
    float:left;
    width:500px;
}

div.smallMenu
{
    padding: 4px 8px 4px 0px;
    width: 300px;
    float: right;
}

编辑:如果我将它们放在 div 中并将第二个浮动到右侧,但现在右侧菜单的一半出现在页面的右侧(外部),我可以使它们出现在同一行中。

4

2 回答 2

1

这听起来像是您必须使用浏览器的客户端调试工具进行调试的事情。从您的描述(右侧菜单的拆分)听起来好像CSS继承层次结构中更高的东西正在影响该DIV的定位。

您可以尝试的另一件事是进一步嵌套菜单:

<DIV>
  <DIV style="float:left;">
     <DIV style="float:right;">
        <asp:Menu />
     </DIV>
     <asp:Menu />
  </DIV>
</DIV>       

ETA: 这是一个类似问题的帖子。前 2 个答案(在撰写本文时分别为 7 分和 5 分)有一些您可以尝试的东西和一些进一步的链接。

于 2012-11-01T22:11:46.887 回答
0

虽然我可能看不到这样做的充分理由,但请尝试使用 css 对两者进行样式设置 - 然后用 div 标签括起来。

同时,使用具有适当静态、动态和子级别值的单个菜单项,您可以完成相同的操作。

于 2015-03-11T12:15:54.033 回答