2011-03-09 41 views
1

我需要我的ASP.NET Web应用程序支持IE浏览器的8和以前版本。然而,当我点击我的IE8地址栏上的“损坏的页面”按钮切换到兼容视图时,菜单背景图像被裁剪,两个菜单之间存在垂直间隙,并且我的asp:菜单栏和导航用户控件它上面。IE8兼容性查看打破ASP:菜单

常规IE8的看法:

enter image description here

兼容性视图: enter image description here

每个菜单的一般格式为:

<asp:TableCell ID="tcFurnMenuSectls" runat="server"> 
    <asp:Menu ID="menuFurnSectls" runat="server" StaticDisplayLevels="1" MaximumDynamicDisplayLevels="1" 
     Orientation="Horizontal" 
     CssClass="FurnMenuSectionals" StaticMenuItemStyle-ItemSpacing="0px" 
     DynamicMenuItemStyle-CssClass="FurnMenuDynamicItem" 
     StaticMenuItemStyle-CssClass="FurnMenuStaticItem" 
     DynamicHoverStyle-CssClass="FurnMenuDynamicItemHover" 
     DynamicVerticalOffset="0" 
     StaticHoverStyle-CssClass="FurnMenuStaticItemHoverSectls" 
     StaticEnableDefaultPopOutImage="false" 
     DynamicPopOutImageUrl="~/Images/AppMenu/menu_arrow_grey.gif" DynamicMenuItemStyle-VerticalPadding="2" 
     DisappearAfter="0" OnMenuItemClick="menuFurn_MenuItemClick"> 
     <Items> 
      <asp:MenuItem Text="Sectionals&nbsp;&nbsp;&nbsp;&nbsp;" ImageUrl="~/Images/AppMenu/FurnMenuGradientTransparent.png" Selectable="false"> 
       <asp:MenuItem Text="Options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" 
        Value="Sectionals_Options" NavigateUrl="~/FurnMain.aspx?_page=OptsSectl&_title=SectionalOptions"> 
       </asp:MenuItem> 
       <asp:MenuItem 
        Text="Latest deals&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" 
        Value="Sectionals_Deals" 
        NavigateUrl="~/FurnMain.aspx?_page=DealsSectl&_title=SectionalDeals"></asp:MenuItem> 
      </asp:MenuItem> 
     </Items> 
    </asp:Menu> 
</asp:TableCell> 

如果我选择查看 - >源代码,保存生成的HTML并比较两个结果,唯一的区别在于上层的属性(“Cli ent Home“)用户控件:

<table id="topNavCtrl_menuTopNav" class="TopNavMenu topNavCtrl_menuTopNav_2" cellpadding="0" cellspacing="0" border="0" style="margin-top:-2px;"> 

在”兼容性“版本中,margin-top是-3px,而不是-2。

回答

1

你看到的是页面的IE7渲染,这显然打破了一些东西。您应该能够使用简单的CSS技巧/黑客修复大多数这些问题,例如为有问题的元素指定“缩放:1”,边距和“位置:相对”。如果这些事情失败(或打破IE8),考虑创建IE7特定的CSS样式表。确保使用IE Developer Tools来帮助测试。

更多有用的信息可以发现here

1

或者,如果您不需要与IE7兼容,则可以通过使用X-UA兼容值IE = 8来隐藏该按钮。