Web 应用程序和渲染

web applications and rendering

提问人:Dalton Conley 提问时间:6/16/2011 更新时间:6/17/2011 访问量:59

问:

我已经在 Web 上开发了一段时间,我的大部分跨浏览器兼容性都包括使用 IE css hacks,这无论如何都不是标准的,所以我只是好奇在开发 Web 应用程序时如何处理跨浏览器渲染问题?我从来没有在一家大公司工作过,所以你怎么想(如果你有在大公司工作的经验)他们如何处理这些跨浏览器的差异?我希望得到一些关于这个主题的专业反馈,或者一些提示。

HTML CSS、 XHTML 、跨浏览器

评论


答:

4赞 simshaun 6/16/2011 #1

我们通过使用重置样式表(Eric Meyer 的样式表很好)来启动我们的项目,它修复了我们遇到的大多数跨浏览器显示问题。

我个人的策略是首先在Firefox中使一切看起来都正确,它通常也负责基于Webkit的浏览器,然后返回并使用在条件注释中链接的单独样式表来修复IE问题。

对于一些 IE<=8 不支持的 CSS3,我们使用 CSS3 PIE

最后,如果您还没有,请查看 Modernizr 和 html5boilerplate(html5boilerplate 实现了 Modernizr)。HTML5Boilerplate 是帮助缓解跨浏览器问题的良好起点。

0赞 Kevin Ji 6/17/2011 #2

我个人的策略是从重置样式表开始(我也使用 Eric Meyer 的),通过浏览器重置默认样式。

为了解决特定版本的 IE 的问题,我使用条件注释而不是 CSS hacks,这样我的 CSS 样式更有可能在 IE 中工作,如果 IE 修复了 CSS hacks。

使用CSS框架(如蓝图)可以提供基本样式,您可以用自己的样式覆盖这些样式,并为样式提供基础,因此您不必复制某些基本样式。它还通过使用条件注释提供了与 IE 的 CSS 怪癖的良好兼容性。

通常最好在各种符合标准的浏览器中进行测试,然后将 CSS 修复应用于 IE。通常,要为 IE 提供伪 CSS3 样式,您需要研究 IE 的过滤器,这是一种应用样式的非标准方式。Microsoft的MSDN文档在这方面相当全面。请注意,当您在元素上使用样式时,消除锯齿可能会消失。filter

如果您需要 IE 对新 HTML5 标记(如 和)的支持,请使用 html5shim<section><header>