【发布时间】:2014-01-26 12:46:32
【问题描述】:
我收到了一个我正在开发的(旧)ASP.NET 网站,该网站以前只在 IE5-IE9 上工作。我设法修复它,以便它可以在 IE11 中工作。 (需要服务器端 .NET 修补程序)。
现在我也在尝试让网站在 Firefox 和 Chrome 中正常工作,但不幸的是,去头的 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 中的每个浏览器返回相同的代码(或相同的样式)?
【问题讨论】:
-
我相信只有更新你的 CSS 才能解决问题。您无需更改服务器端代码。我对您的建议是制作一个 css 文件并将所有内联样式移至其中。这样您就可以将所有的 CSS 放在一个可以玩和更新的地方。
-
@Ratna 这就是我同时做的事情。但是我还是觉得 chrome 添加随机
是一件很恶心的事情。 -
尝试添加
-
@Ratna 您的建议使这项工作在 chrome 中完美运行,但破坏了所有其他浏览器,哈哈……哈哈。我现在要去尝试浏览器定义文件。感谢您的意见。
标签: html asp.net css google-chrome firefox