2011-06-15 75 views
2

我一直在网络上开发了一段时间,我的跨浏览器兼容性的大部分包括使用IE浏览器的CSS黑客,这是不是标准的任何方式,所以我只是好奇你怎么处理在开发Web应用程序时跨浏览器呈现问题?我从来没有为一家大公司工作,所以你如何看待(如果你有一些大公司的工作经验),他们处理这些跨浏览器的差异?我会喜欢关于这个主题的一些专业反馈或者一些提示。网络应用程序和渲染

回答

4

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

我个人的策略是让一切看起来正确的Firefox首先,通常也需要照顾的基于WebKit的浏览器,然后回去和修复使用的conditional comments内部协作的独立的样式表IE的问题。

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

最后,如果你还没有,看看Modernizrhtml5boilerplate(html5boilerplate实现Modernizr的)。 html5boilerplate是一个很好的起点,可以帮助缓解跨浏览器问题。

0

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

要解决特定版本的IE的问题,我使用conditional comments而不是CSS黑客,这样我的CSS样式更可能在IE中工作,如果IE修复CSS黑客攻击。

使用CSS框架(如Blueprint)可以提供基本样式,您可以使用自己的样式进行覆盖,并为样式提供基础,因此不必重复某些基本样式。它还通过使用条件注释来提供与IE浏览器CSS怪癖的良好兼容性。

通常最好在各种符合标准的浏览器中进行测试,然后将CSS修补程序应用于IE。通常,要为IE提供伪CSS3样式,您需要调查IE的filter,这是应用样式的非标准方式。本说明中微软的MSDN文档相当全面。保持警惕—在元素上使用filter样式时,消除锯齿可能会消失。

如果您需要IE新HTML5标记支持,例如<section><header>,请使用html5shim