我已经交了一个我正在研究的(旧)ASP.NET网站,以前只在IE5-IE9上工作过。我设法修复它,以便它可以在IE11中工作。 (需要一个服务器端.NET修补程序)。
现在我也试图让网站在Firefox和Chrome中正常运行,但不幸的是,decapriated javascript无法正常工作并完全打破了一些关键功能,但我稍后会解决这个问题。
现在我正试图让样式表在跨浏览器中正常工作。我想触摸尽可能少的代码,而不是破坏其他任何东西。从我所看到的是,每个浏览器提供给浏览器的页面是不同的。请参阅这些屏幕截图。
火狐
铬
IE11
正如您所看到的,每个浏览器提供的代码不同。我不确定浏览器本身是做这个还是ASP.NET。有没有办法强制执行特定的方法?这是ASP.NET方面的代码。 (请注意,这是一个古老的网站。)
<div id="menuDiv" runat="server">
<asp:Menu ID="menu" runat="server" StaticMenuItemStyle-CssClass="menu" Visible="False">
<StaticMenuItemStyle CssClass="menu"></StaticMenuItemStyle>
</asp:Menu>
</div>
这是在尝试让它在firefox和IE11中正确显示之后的相关CSS。
.menu a
{
padding-left: 40px;
vertical-align: middle;
width: 100px;
color: #0462a5;
font-weight: bold;
font-size: 14px;
text-decoration: none;
padding-top: 7px;
display: block;
text-align: left;
height: 20px;
color: #0462A5;
background-image: url(Images/web/menu.gif);
}
.menu a:hover
{
color: #000;
background-image: url(Images/web/menu_over.gif);
}
再说一遍,我怎样才能让这些页面为ASP.NET中的每个浏览器返回相同的代码(或相同的样式)?
答案 0 :(得分:1)
我唯一能想到的可能就是你的应用程序正在使用浏览器定义文件:
http://msdn.microsoft.com/en-us/library/ms228122%28v=vs.85%29.aspx
这些文件将定义要发送到哪个浏览器的标记。我从来没有太在意这个想法,他们过去常常将基于表格的布局而非基于div的布局发送到Firefox的最早版本,因为微软认为它是一个“低级”浏览器,而不是IE 插入滚动眼睛图释这里
查看这些浏览器文件,看看Chrome是否有任何混乱标记。