c# - 菜单项之间的项目空间在 asp.net 中不起作用

标签 c# asp.net aspmenu-control

我想在 asp.net 菜单项之间留一个空格。因此,我尝试使用 SO 中其他帖子建议的 staticmenuitemstylehorizo​​ntalpadding="10" 属性。但是,它不起作用。

<staticmenuitemstyle horizontalpadding="10" />

请告诉我如何在菜单项之间留出空间?

我的代码::

 <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" 
           EnableViewState="False" IncludeStyleBlock="False" Orientation="Horizontal" 
           BackColor="#F7F6F3" DynamicHorizontalOffset="2" Font-Names="Verdana" 
           Font-Size="0.8em" ForeColor="#7C6F57" StaticSubMenuIndent="10px">
      <DynamicHoverStyle BackColor="#7C6F57" ForeColor="White" />
      <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
      <DynamicMenuStyle BackColor="#F7F6F3" />
      <DynamicSelectedStyle BackColor="#5D7B9D" />
      <staticmenuitemstyle horizontalpadding="10" />
      <Items>
          <asp:MenuItem NavigateUrl="~/WebPages/Default.aspx"  Text="Support1">
          <asp:MenuItem NavigateUrl="~/WebPages/Default2.aspx"  Text="Support2">
      </Items>
</asp:Menu>

最佳答案

您可以使用 CSS Selectors实现这一目标

在您的代码中,您已经分配了 CssClass属性给你的 Menu控制。使用名为“menu”的 CSS 类并在您的页面中覆盖它(您可以稍后将其移动到 css 文件)。所以将此添加到您的页面中 <head>

<style type="text/css">
    .menu li ~ li
    {
        padding-left: 100px; /* selects every <li> element that are preceded by a <li> element. */
        list-style:none;
    }

    .menu ul > li:first-child
    {
        font-size:20px;/* this one will select the first element of your menu */
    }
</style>

请注意,我添加了 .menu ul > li:first-child选择器,这样您就不会在菜单的第一个元素上获得左填充,我只是更改了 font-size给你一个 CSS 选择器提供的控制的例子。如果您愿意,可以将其删除。

希望对你有帮助

关于c# - 菜单项之间的项目空间在 asp.net 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205383/

相关文章:

c# - 如何加速 C# 的 MongoDB 反序列化

c# - 在 iOS 13 中访问(File.Copy)共享文件失败

c# - 在 DisplayTemplate 中访问模型属性

asp.net - 将 Css 样式应用于 Asp :Menu MenuItem

c# - 单元测试 .NET Core Web 应用程序的正确方法是什么?

c# - ADO.NET 实体模型更新

asp.net - 如何使用 Linkbutton 打开新标签页?

c# - 我可以从 ASP.NET 页面下载由内存流生成的 Excel 文件吗?

asp.net - 菜单控件在环境之间构建和呈现不同