【问题标题】:Making website compatible across most browsers使网站在大多数浏览器上兼容
【发布时间】:2009-06-30 20:31:42
【问题描述】:

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

【问题讨论】:

    标签: css cross-browser


    【解决方案1】:

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

    另外,你可能想看看Yahoo's CSS reset

    【讨论】:

      【解决方案2】:

      澄清一点的旁白:

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

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

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

      【讨论】:

      • 很高兴知道虽然我尽量避免以数字开头的任何名称。我从 www.w3schools.com/css/css_syntax.asp 获得信息。在页面底部附近它说:不要以数字开头的类名!它不适用于 Mozilla/Firefox。
      【解决方案3】:

      回答您的问题:没有办法只使用一个通用 css 制作页面并使其在所有浏览器中均等显示,除非您只使用所有可用 css(选择器、值等)的极小子集.).

      我的工作方式是:

      1. 使用 CSS 重置
      2. 为非常符合标准的浏览器(Firefox、Chrome、Safari、Opera)开发
      3. 使用条件 cmets 为 IE 打补丁(因为您可能需要不验证的东西)

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:

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

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

            【讨论】:

              【解决方案7】:

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-06-08
                • 1970-01-01
                • 1970-01-01
                • 2012-02-10
                • 1970-01-01
                • 2012-03-16
                相关资源
                最近更新 更多