【问题标题】:Which css hacks for IE 6 and 7 are future proof?IE 6 和 7 的哪些 CSS hack 是面向未来的?
【发布时间】:2015-03-19 18:38:51
【问题描述】:

IE 6 和 7 的哪些 CSS hack 是面向未来的?我的意思是如果我使用 then 那么他们将永远不会产生任何问题并且他们的补丁将永远不会被实施?

管理 2 个 CSS,一个用于所有,一个用于 IE,非常耗时,并且还添加了一个额外的样式表。如果任何 hack 可以解决主 css 中的问题,那么它可以节省时间,当多个人在同一个项目上工作时,大多数时候我们也忘记了对条件 css 进行更改。

我不是在询问条件样式表

【问题讨论】:

    标签: css cross-browser css-hack


    【解决方案1】:

    没有。
    使用IE conditional comments 插入您的每个版本(没有双关语......也许有点)样式..


    [更新]
    对您更改的问题的附加说明。 这可能很耗时,但它是最佳实践(顺便说一句,许多 hack 不是有效的 css)..

    永远不会保证使用 hack,即使对于相同的主要版本的浏览器 .. 他们不太可能在未来的次要版本中修复 IE6 中的 css bug发布,但你仍然不能 100% 确定..

    还有一个替代方案(一开始可能更耗时),即我提到的 IE cmets,但它确实是最佳实践...

    此外,想想您团队中的其他编码人员,他们都必须知道、理解并在未来记住相同的 hack。随着时间的推移,维护 hack 将变得比维护不同版本的违规规则更耗时在其他文件中..

    【讨论】:

    • 我们可以在.css中使用条件
    • 我怀疑括号中的部分,至少是“预期”部分。无论如何,我只能补充:没有任何黑客将在任何未来的 IE 版本中工作。你唯一的希望是 IE8 之前的版本会很快死去并很快消失,但我担心它们不会。
    • @Jitendra,不在 .css 文件中.. 但无论如何你应该保持不同的版本分开..
    【解决方案2】:

    黑客就是黑客,不能保证它们是否会被未来证明。关键是你应该尽可能减少黑客的使用,原因很简单,他们不能面向未来。你没看到 IE6、IE7 和 IE8 的 hack 之间有什么区别吗,它们都有不同的 hack,没有保留以前版本的所有 hack。其他浏览器也是如此。

    【讨论】:

      【解决方案3】:

      一般来说,没有。但也不应该如此,针对特定浏览器的特殊情况编码不是一个好主意。

      如果您 - 确实 - 必须进行特殊情况编码,那么最好的选择是使用 jQuery 之类的库,并使用其中的一项功能测试。不要做“if not IE6”,而是做“if not supports-rounded-corners”

      【讨论】:

        【解决方案4】:

        我想不出将来会有一个下划线开头的属性。

        _background: #ff0000;
        

        【讨论】:

          【解决方案5】:

          在代码后面涉及覆盖 CSS 属性的任何事情都只是遵循 CSS 标准,因此是面向未来的。

          body {
             background: url('background.jpg') center;
             background: url('background-top.jpg') top, url('background-bottom.jpg') bottom;
          }
          

          但是,这仅在使用旧版浏览器中不可用的功能时有效,而在处理特定于浏览器的错误时无效。为确保特定版本的 Internet Explorer 使用特定版本的 CSS,请使用条件 cmets。

          <head>
              ...
              <!--[if lt IE 8]><link rel="stylesheet" type="text/css" src="ie7.css" /><![endif]-->
              <link rel="stylesheet" type="text/css" src="generic.css" />
          </head>
          

          【讨论】:

            【解决方案6】:

            从不/总是闲聊,每个浏览器型号的单独文件由于维护而随着时间的推移很快分崩离析。

            【讨论】:

              猜你喜欢
              • 2011-01-15
              • 1970-01-01
              • 1970-01-01
              • 2012-06-28
              • 2010-10-31
              • 2011-07-31
              • 2011-11-01
              • 2014-06-15
              • 1970-01-01
              相关资源
              最近更新 更多