使网站兼容大多数浏览器

时间:2009-06-29 20:35:31

标签: css cross-browser

我正在尝试找出确保跨浏览器兼容性的最有效方法。我做了一些研究并学到了一些有趣的东西,比如Mozilla / Firefox无法处理名称以数字开头的类。有没有办法让 CSS 适用于任何浏览器,或者更好的方法是开发多个 CSS 并添加代码以根据所使用的浏览器选择使用哪些?

7 个答案:

答案 0 :(得分:3)

您可以考虑使用CSS框架,例如Blueprint。它包括一个应该有帮助的CSS重置。

此外,您可能需要查看Yahoo's CSS reset

答案 1 :(得分:3)

另外澄清一点:

  

...我做了一些研究并学到了一些有趣的东西,比如Mozilla / Firefox无法处理一个名称以数字开头的类。 ..

很抱歉,但这不是Mozilla的限制,它在CSS规范中:类名不能以数字开头。 允许他们访问的任何浏览器都没有正确执行规则。

在StackOverFlow上回答here。规范的相关部分位于http://www.w3.org/TR/CSS21/syndata.html#characters(见第2段)。

答案 2 :(得分:2)

回答你的问题:除非你只使用所有可用css的极小子集(选择器,值等),否则无法使用一个通用css制作页面并在所有浏览器中均匀显示它)。

我的工作方式是:

  1. 使用css reset
  2. 开发适合标准的浏览器(Firefox,Chrome,Safari,Opera)
  3. 使用条件注释为IE补丁(因为你可能需要不验证的东西)

答案 3 :(得分:1)

一个好的起点是使用CSS重置,例如:http://developer.yahoo.com/yui/reset/

答案 4 :(得分:1)

您的目标应该是适用于所有浏览器的CSS。如果你开始使用每个浏览器的CSS文件,你在哪里停止?移动Safari?群? Konqueror的?每个支持的浏览器的每个版本?

最终,你可能需要妥协,但是当你到达那里时你可以越过那条路。

答案 5 :(得分:1)

无论您的基础架构/框架/等,您都应该在所有主流浏览器上测试您的代码。如果可能,请避免使用样式表来解决浏览器特定问浏览器会改变和适应,这意味着当新的浏览器问世时,你可能不得不更新一堆网站。

CSS是一个变幻无常的野兽,除了大量的尽职调查和测试之外,我还没有找到任何涵盖所有怪癖的解决方案。

答案 6 :(得分:0)

您可以使用一个为您执行此操作的框架,例如GWT,但请记住,您仍然会遇到一些问题。