1

我的 Web 应用程序中有一个菜单控件,我无法让菜单项自动换行。这是我所拥有的:

<asp:Menu ID="PageNav"
                            runat="server" 
                            DataSourceID="PageMapDS" 
                            Orientation="Vertical" 
                            MaximumDynamicDisplayLevels="0" ItemWrap="true"
                            OnMenuItemDataBound="ToolNav_MenuItemDataBound">
                            <StaticMenuItemStyle 
                                BackColor="#7795bd"            
                                BorderColor="#6d8bb2"
                                BorderStyle="Solid"
                                BorderWidth="1px"
                                Height="25px"
                                width="102px" ForeColor="#000" HorizontalPadding="10px"/>
                            <StaticHoverStyle BackColor="#5d7b9d" ForeColor="#FFFFFF" />
                            </asp:Menu>

如果我放入一个文本超过框宽度的项目,它会溢出到页面的其余部分,它不会在框的约束内自动换行。

4

2 回答 2

4

要添加到上面马里奥的答案,而不是在控件上使用这些内联样式,请考虑正确设置IncludeStyleBlock="False"和设置CssClass="myCustomClass"样式。

然后,您可以使用 CSS 控制换行:

(我不知道菜单输出的是什么 HTML,所以我假设它只是锚点)

    .myCustomClass 
    // assuming this class is added to each anchor <a class="myCustomClass...
    {
      display:block;
      float:left;
      width:102px;
    }
于 2012-04-16T14:11:04.723 回答
2

我看到您已经尝试过 ItemWrap,但您可以使用 css:word-wrap: break-word

于 2012-04-16T14:07:10.923 回答