【问题标题】:ASP.net site looks completely different on IE, Firefox, and Chrome; why?ASP.net 站点在 IE、Firefox 和 Chrome 上看起来完全不同;为什么?
【发布时间】:2011-03-03 08:40:02
【问题描述】:
我正在为一个网站做 css。我将 html 和 css 发送给一个人,他将其放入 ASP.net。问题是我的代码的传输并没有很好地结束,它需要一些修复。问题是,当我在 Chrome、Firefox 或 IE8 中查看它时,我得到了三种完全不同的渲染。我花了很多时间试图修复一个应该在悬停在链接上时出现的下拉菜单。他从 ASP.net 获得的那个在 IE 中工作,在 Firefox 中工作,在 Chrome 中完全被破坏(我没有测试过 Safari 或 Opera。)只是让它在 Firefox 和 chrome 中看起来基本相同是一个斗争。 html 源代码也向我展示了两个完全不同的页面。
有人有这方面的经验吗?我对 ASP.net 一无所知,而且这家伙似乎正在用 wsyiwyg 修改我的布局(我发现在随机位置使用的表格,我没有放在那里。)面对这个,我最好的选择是什么?这是可以解决的,还是我在我头上?
【问题讨论】:
标签:
asp.net
html
css
layout
cross-browser
【解决方案1】:
html 源代码也向我展示了两个完全不同的页面。
听起来你的 asp.net 家伙在那里做错了什么。您可以使用 asp.net 进行依赖于浏览器的渲染,但听起来他的工作更像是让网站渲染您提供给他的内容,而且通常最好一开始就让您的 html 和 css 正确。
【解决方案2】:
在将代码发送给 .NET 人员之前,您的代码在这些浏览器中渲染是否良好?如果是这样,程序员正在做一些事情来破坏你的工作。 ASP .NET 不会改变您的代码呈现方式...它只是 PHP 的 Windows 等价物(简单地说)。
我建议(如果您还没有)在移交之前测试您的代码以验证正确的渲染。截取一些屏幕截图,如果在将您的代码发送给该开发人员后出现问题,您可以指出它一直在工作,直到他开始弄乱您的标记。如果最终是这样,至少你知道不是你。如果是这样,那么我们还有更多工作要做。 :)
你能提供任何样品吗?
【解决方案3】:
很多时候,WYSIWYG 程序所生成的代码不会导致可靠、一致的渲染。但是,您可以做一些事情来检查您网站的一致性。
- 您可以使用 Adobe BrowserLab 之类的程序(目前有免费试用版)在多个浏览器中自动并排呈现您的页面
- 您可以使用w3 Validator 来确保您的代码符合标准。如果您的代码不符合标准,那么您可能会遇到跨浏览器的问题。
请注意,您可以通过 web.config 文件强制 asp.net 生成符合 XHTML 过渡或严格标准的代码(如果这是您选择实施的标准)。使用指令
<xhtmlConformance mode="Transitional"/>
如果您想启用此行为。