asp.net webform菜单控制如何缩进包装的项目?

时间:2013-11-25 16:27:43

标签: c# asp.net css webforms

我正在使用标准的asp.net菜单控件在我的页面上显示菜单,并且我将文本换行选项设置为true。我想做的是将包装好的文本缩进为上面一行的视觉线索。

我关注了这个问题:Can you apply CSS only on text that is wrapped, i.e. the second and subsequent lines?

但是我看不到如何在Menu控件中格式化MenuItem元素。这可以用CSS引用吗?

不确定这是否有帮助......但这是我的HTML:

<asp:Menu ID="MSDSMenu" runat="server" Width="100%" CssClass="noPrint" ItemWrap="True">
     <Items>
          <asp:MenuItem Text="Search SDS" Value="Search MSDS" NavigateUrl="~/MSDS/SearchMSDS.aspx" />
          <asp:MenuItem NavigateUrl="~/MSDS/ByDept.aspx?dept=Shipping%25%27%20OR%20UsageDept%20LIKE%20%27%25Receiving"
                    Text="Shipping / Receiving" Value="Shipping / Recieving" />
          <asp:MenuItem NavigateUrl="~/MSDS/ByDept.aspx?dept=Other" Text="Other" Value="Other" />
     </Items>
</asp:Menu> 

1 个答案:

答案 0 :(得分:0)

菜单上有几个级别的样式:

<asp:Menu ID="Menu1" runat="server"
         CssClass="menuBar_style" >
            <LevelSubMenuStyles>
                <asp:SubMenuStyle CssClass="sub_style_top" />
                <asp:SubMenuStyle CssClass="sub_style_lvl1" />
            </LevelSubMenuStyles>

            <LevelMenuItemStyles>
                <asp:MenuItemStyle CssClass="item_style_top" />
                <asp:MenuItemStyle CssClass="item_style_lvl1" />
            </LevelMenuItemStyles>

            <Items>
                <asp:MenuItem />
                <asp:MenuItem />
                <asp:MenuItem />
            </Items>

        </asp:Menu>

Menu本身就是css,但是你也可以定义LevelSubMenuStylesLevelMenuItemStyles,在菜单的每个级别中都有单独的样式项(在你的菜单中)只有它的外观只有一个级别。)

我建议尝试将包装应用到MenuItemStyle css,因为这会影响实际控制(通常是文本),SubMenuStyle会影响我认为控件周围的容器。

希望这是有道理的...这是令人困惑的业务,你最好的选择是玩一会儿不同的标签,直到你在自己的头脑中感受到它们,希望你会明白我的意思。

编辑:我刚才注意到这个问题来自两年前!不知道我是怎么来到这里的,一分钟我正在浏览最新的问题,接下来......我会在这里留下答案,因为菜单样式过去一直是我的挫折感,这可能对某些人有所帮助别的。