ASP .Net页面在其他浏览器上无法正常显示

时间:2009-09-23 07:05:47

标签: asp.net browser

如果我在Internet Explorer中预览它,我的ASP.Net应用程序只能正常运行,但如果我在Firefox,Chrome或Safari中查看它是最丑陋的事情。

这怎么可能,以及如何解决这个问题.Helppppppppp

4 个答案:

答案 0 :(得分:1)

您使用的是什么DocType?如果您正在使用transitional,那么IE将以怪癖模式呈现。强制严格的DocType。

请查看此链接here以获取DocTypes和this链接的详细说明,以解释文档类型影响布局的一种主要方式:框模型。

答案 1 :(得分:1)

您是否比较了不同浏览器中的网页来源?它们是相同的,还是存在重大差异?如果没有,那么你需要处理你的CSS - 为此,没有比Firefox和Firebug更好的工具了。

如果页面的来源不同,那么您将违反ASP.NET功能,该功能会根据Browser CapabilitiesBrowser Definition files的列表检查您的用户代理 - 并且在早期版本中在框架中,这些已经过时了 - 在IE中呈现为<div>的内容将在Firefox中作为单个单元<table>出现。

从ASP.NET 2.0开始,您还可以使用控件适配器更改控件的行为 - 例如CSS Control Adapters将为大多数表格控件输出样式的div(登录,注册,转发器,等) - 再次可以针对特定的浏览器。

答案 2 :(得分:0)

我建议使用FireFox作为您的开发浏览器,同时在IE和Chrome中进行测试。

除了基于更多标准之外,它还拥有优秀的网络工具,例如FirebugyslowWeb Developer

答案 3 :(得分:0)

不幸的是,跨浏览器兼容性并非易事。这是一个很大的主题,有很多专门的材料。正如鸽子所说,最好使用(相对)标准兼容的浏览器来进行开发工作,例如: FF,Opera,Chrome或Safari然后进行调整以使其在IE 6/7/8中运行。

我建议不要使用任何Microsoft的内置主题等,并尽可能坚持纯CSS基于样式。让您的网站与浏览器兼容的便利性在很大程度上取决于您对HTML和CSS的了解,但我建议从一个好的CSS框架开始,或者至少是一个好的CSS重置(它会删除浏览器特定的默认样式并允许你从一个共同的基础开始)。试着看看Tripoli,它为您提供了一个常见的跨浏览器CSS标准(重置加上默认样式的重建)。

调整IE的CSS的常用方法是使用IE特定的条件注释来包含仅用于IE的额外CSS文件,例如: -

<link rel="stylesheet" href="http://tempuri.org/styles.css">
<!--[if IE]>
    <link rel="stylesheet" href="http://tempuri.org/styles.ie.css">
<![endif]-->

您还可以为不同版本的IE添加不同的样式表,请参阅here