2013-06-20 58 views
2

我想给asp.net菜单项之间的空间。因此,我尝试使用SO中的其他帖子所建议的staticmenuitemstylehorizontalpadding="10"属性。但是,它不工作。在菜单项之间的项目空间不在asp.net工作

<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> 
+0

你正在使用哪种.NET框架版本? Menu控件在4.0中呈现为“ul”,在之前的版本中呈现为“table”。据说,你可以通过CSS来控制间距。 – juanreyesv

+0

我正在使用.NET Framework 4.0。 @juanreyesv请让我知道我如何处理CSS? – Smaug

回答

2

您可以使用CSS Selectors实现这一

在你的代码已经asigned的CssClass属性您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选择器提供的控件。如果你喜欢,你可以删除它。

希望这可以帮到你