如果我在Internet Explorer中预览它,我的ASP.Net应用程序只能正常运行,但如果我在Firefox,Chrome或Safari中查看它是最丑陋的事情。
这怎么可能,以及如何解决这个问题.Helppppppppp
答案 0 :(得分:1)
您使用的是什么DocType?如果您正在使用transitional,那么IE将以怪癖模式呈现。强制严格的DocType。
答案 1 :(得分:1)
您是否比较了不同浏览器中的网页来源?它们是相同的,还是存在重大差异?如果没有,那么你需要处理你的CSS - 为此,没有比Firefox和Firebug更好的工具了。
如果页面的来源不同,那么您将违反ASP.NET功能,该功能会根据Browser Capabilities或Browser Definition files的列表检查您的用户代理 - 并且在早期版本中在框架中,这些已经过时了 - 在IE中呈现为<div>
的内容将在Firefox中作为单个单元<table>
出现。
从ASP.NET 2.0开始,您还可以使用控件适配器更改控件的行为 - 例如CSS Control Adapters将为大多数表格控件输出样式的div(登录,注册,转发器,等) - 再次可以针对特定的浏览器。
答案 2 :(得分:0)
我建议使用FireFox作为您的开发浏览器,同时在IE和Chrome中进行测试。
除了基于更多标准之外,它还拥有优秀的网络工具,例如Firebug,yslow和 Web 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。