【问题标题】:For Standard Mode, is conditional CSS necessary for IE?对于标准模式,IE 是否需要条件 CSS?
【发布时间】:2012-12-04 23:50:00
【问题描述】:

如果 HTML 页面有正确的 doctype,IE 还需要条件 CSS 吗?

今天听说,如果添加了 doctype 并且页面以 Standard 模式呈现,那么许多针对 Quirks 模式页面的 IE 特定修复将不再是不必要的。这是真的吗?

【问题讨论】:

  • 在标准模式下仍然有很多 IE 的 bug。
  • 这个问题过于宽泛,并且基于未公开的假设(例如出于未指定的原因假设需要“条件 CSS”,以及关于“文档类型”导致 Quirks 模式的错误假设)。无法建设性地回答。
  • @JukkaK.Korpela:Quirks 模式及其与文档类型的关联(以及最近的meta http-equiv)在 MSDN 和网络问答。是什么让您说 OP 的问题是基于错误的假设?
  • @Damon,没有这样的文档(你不能说出一个),“正确的文档类型”触发 Quirks 模式肯定是一个错误的前提(恰恰相反)。 “条件 CSS”作为一般假设是必要的,这也是一个错误的前提。
  • @GraceShao:如果每个浏览器都是完美的,不。事实上,浏览器是由人类编写的,即使不应该这样做,它们的行为也会有所不同。假设用户有一个相当新的浏览器版本(你不知道!)差异将非常小。微软的浏览器一直很奇怪,例如 IE9 不能在 Windows XP 上运行,IE10 目前不能在 Windows 8 之前的任何东西上运行。这没有技术原因,这只是政治原因。现在,在 Windows 8 目前的市场份额约为 1.2% 的情况下,IE10 的普遍可用性目前还不是很好。

标签: css doctype quirks-mode


【解决方案1】:

对于 IE,您不需要特殊的样式表。某些浏览器存在一些错误和差异,但通常最好绕过它们而不是编写特定于浏览器的样式。

使用在所有浏览器中运行相同的更强大的解决方案使代码更有可能继续在未来的浏览器中运行。

即使您需要专门为 IE 添加修复程序,也可以在不给其他浏览器造成问题的情况下完成某些修复。例如在浮动元素上添加display:inline,或在元素上设置特定大小。

【讨论】:

  • 我同意,但有时它会导致我们倒退 - 让设计师同意做一些改变。对于这个问题,我想知道,条件CSS和doctype有关系吗?
  • @GraceShao:我想知道需要条件 CSS 的设计中有什么,我真的想不出任何东西...如果您没有 doctype,那么浏览器会以许多不同的方式运行,所以条件 CSS 可能会有所帮助,但使用 doctype 和使用条件 CSS 没有直接关系。
  • 我们的页面现在没有 doctype,这是一个很大的错误(长话短说)。我想知道如果没有 IE 的条件 CSS,使用 doctype 可以解决很多问题。
  • @GraceShao:是的,拥有一个 doctype 肯定会解决很多问题。
【解决方案2】:

虽然包含 doctype 声明确实有帮助,但 Internet Explorer 在第 9 版之前并以逐渐增加的方式回溯到各个版本,其行为与符合标准的浏览器有很大不同,如果没有 Internet Explorer 特定的修复程序,您将很难摆脱,除了在最基本的情况下。

关键是 doctype 声明对 IE 来说有很长的路要走,但不是全部,您需要做出权衡。我不确定 doctype 究竟修复了哪些问题,我相信这是很多问题。我个人无论如何都包含一个有效的文档类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-12
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多