我遇到ASP.net垂直菜单的问题,在某些IE8模式和其他IE浏览器中,它会更改我的菜单项以在每个菜单项的底部有一个额外的空间,如下所示。
(左边不好,右边好)。这只是IE。
_____________________
我做了一个保证金:-1px;对于底部和顶部并获得以下内容并仍然添加空间,如下所示。
这是我的CSS:
.SideStaticMenuStyle a,
.SideStaticMenuStyle a:visited,
.SideStaticMenuStyle a:active
{
color: #000000;
text-decoration: none;
font-weight: normal;
font-family: verdana;
font-size: 12px;
white-space:normal;
}
.SideStaticMenuStyle a:hover
{
color: #ffffff;
text-decoration: none;
font-size: 12px;
font-weight: normal;
font-family: verdana;
}
.SideStaticMenuStyle td
{
background-color: #c2d0e9;
width: 160px;
line-height:14px;
}
.SideStaticSelectedStyle td,
.SideStaticSelectedStyle a,
.SideStaticSelectedStyle a:visited,
.SideStaticSelectedStyle a:active,
.SideStaticSelectedStyle a:hover
{
color: #ffffff;
text-decoration: none;
font-weight: bold;
font-family: verdana;
font-size: 11px;
white-space:normal;
background-color: #6C85B0;
}
.SideStaticHoverStyle td
{
font-weight: normal;
font-family: verdana;
background-color: #6c85b0;
color: #ffffff;
}
.SideStaticHoverStyle td:hover a
{
color: #ffffff;
}
.SideStaticMenuItemStyle
{
font-weight: normal;
font-family: verdana;
border-bottom: solid 1px #012754;
border-left: solid 1px #012754;
border-right: solid 1px #012754;
border-collapse:collapse;
}
.SideStaticMenuItemStyle td
{
padding: 2px 2px 2px 3px;
text-align: left;
font-weight: normal;
font-family: verdana;
}
.SideStaticHoverStyle
{
font-weight: normal;
font-family: verdana;
}
这是我的HTML:
<asp:Menu ID="Menu2" runat="server" Orientation="Vertical" ItemWrap="true">
<DataBindings>
<asp:MenuItemBinding DataMember="MenuItem" TextField="Title" NavigateUrlField="URL" />
</DataBindings>
<StaticMenuStyle CssClass="SideStaticMenuStyle" />
<StaticSelectedStyle CssClass="SideStaticSelectedStyle" ItemSpacing="0px" />
<StaticMenuItemStyle CssClass="SideStaticMenuItemStyle" ItemSpacing="0px" />
<DynamicHoverStyle CssClass="SideDynamicHoverStyle" />
<DynamicMenuStyle CssClass="SideDynamicMenuStyle" />
<DynamicSelectedStyle CssClass="SideDynamicSelectedStyle" />
<DynamicMenuItemStyle CssClass="SideDynamicMenuItemStyle" />
<StaticHoverStyle CssClass="SideStaticHoverStyle" />
</asp:Menu>
页面生成代码:
<table id="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2" class="SideStaticMenuStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_5 ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_2" cellpadding="0" cellspacing="0" border="0">
<tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2n1">
<td><table class="SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="width:100%;"><a class="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_1 SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_3" href="servicelink.aspx" target="_self" style="border-style:none;font-size:1em;">ServiceLink</a></td>
</tr>
</table></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2n2">
<td><table class="SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="width:100%;"><a class="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_1 SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_3" href="fnpc.aspx" target="_self" style="border-style:none;font-size:1em;">Fidelity National Property and Casualty</a></td>
</tr>
</table></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2n3">
<td><table class="SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="width:100%;"><a class="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_1 SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_3" href="ceridiancorp.aspx" target="_self" style="border-style:none;font-size:1em;">Ceridian Corporation</a></td>
</tr>
</table></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2n4">
<td><table class="SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="width:100%;"><a class="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_1 SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_3" href="remy.aspx" target="_self" style="border-style:none;font-size:1em;">Remy International, Inc.</a></td>
</tr>
</table></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2n5">
<td><table class="SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="width:100%;"><a class="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_1 SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_3" href="abrh.aspx" target="_self" style="border-style:none;font-size:1em;">American Blue Ribbon Holdings, LLC</a></td>
</tr>
</table></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr style="height:0px;">
<td></td>
</tr><tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2n6">
<td><table class="SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="width:100%;"><a class="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_1 SideStaticMenuItemStyle ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_3" href="cascade.aspx" target="_self" style="border-style:none;font-size:1em;">Cascade Timberlands</a></td>
</tr>
</table></td>
</tr><tr style="height:0px;">
<td></td>
</tr>
</table><a id="ctl00_ContentPlaceHolder1_ctl00_ctl06_ctl00_Menu2_SkipLink"></a>
</td>
答案 0 :(得分:2)
在那些实际包含文本的标签之间有一些额外的TR和TD标签。如果你删除它们,你应该没问题
答案 1 :(得分:2)
问题在于<asp:Menu />
控件的标记。 ItemSpacing="0"
上的<StaticMenuItemStyle />
是创建这些额外<tr />
代码的原因。删除它,它们将消失:
<asp:Menu ID="Menu2" runat="server" Orientation="Vertical" ItemWrap="true">
<DataBindings>
<asp:MenuItemBinding DataMember="MenuItem" TextField="Title" NavigateUrlField="URL" />
</DataBindings>
<StaticMenuStyle CssClass="SideStaticMenuStyle" />
<StaticSelectedStyle CssClass="SideStaticSelectedStyle" />
<StaticMenuItemStyle CssClass="SideStaticMenuItemStyle" />
<DynamicHoverStyle CssClass="SideDynamicHoverStyle" />
<DynamicMenuStyle CssClass="SideDynamicMenuStyle" />
<DynamicSelectedStyle CssClass="SideDynamicSelectedStyle" />
<DynamicMenuItemStyle CssClass="SideDynamicMenuItemStyle" />
<StaticHoverStyle CssClass="SideStaticHoverStyle" />
</asp:Menu>
这是我本地机器的屏幕截图,我将其固定显示: