我试图激励我的团队成员验证我们的代码,但似乎有些失望,因为我们仍然需要支持 IE6。

对此大家有什么想法吗?

这就是我想要的:

  • 语义代码 - 是
  • 验证代码 - 是
  • 适用于 IE6 - 是

我们不要在这里争论语义哈哈。=]

HTML JS CSS

有帮助吗?

解决方案

是的,您可以拥有完全兼容的代码,并将 IE6 的残渣保留在单独的文件中(通常):

只需使用 IE 条件语句隐藏任何 IE6 特定代码即可。如果您希望 CSS 仍然有效,这是首选方法。此外,所有有效的 HTML 都应该在 IE6 中正常工作,并通过 CSS 应用正确的样式:

<!--[if lte IE 6]>
   <link rel="stylesheet" href="/css/ie6.css" type="text/css" media="screen" />
<![endif]-->

这将对所有验证器隐藏,并且代码的其余部分可以保持有效。

事实上,由于条件注释只是 HTML 注释,因此即使该代码仍然有效。

编辑:

证明这一点的唯一方法是构建一个示例,但是使用 IE6 和适当的编码知识,这三种方法都可以实现。

  1. 语义代码:是的
  2. 验证代码:是的
  3. 在 IE6 中工作:是的

事实上,不仅 IE6 存在有效代码问题,IE6 和 IE7(以及 IE8)也存在问题,但同样,仅在 CSS 中。验证您的主要 CSS 文件,但将 IE6 CSS 与条件分开。

我很少需要向 HTML 添加额外的标记来支持 IE6(除了 head)。这只是理解盒模型并相应地构建语义页面的问题。

一个或两个 divs 如果它们呈现出适当的分组,那么它们就不是邪恶的。三层嵌套 divs 修复一个 bug 是邪恶的:)

其他提示

简短回答:是的!

根据我的经验,有效的语义标记实际上在 IE6 中效果更好。将其与正确、有效且简单的 CSS 结合起来,您就已经非常出色了。当然,您肯定会在 IE6 中遇到一些奇怪的行为,尤其是对于更复杂的设计,如上所述。然而,这些错误大部分都是 有据可查. 。使用简单、有效的代码,识别和解决这些问题通常相当简单。

如上所述,条件注释当然有效,但是开发有效的代码将阻止您在代码中加入各种条件。

还是无法发挥作用吗?优雅地降级!当然,圆角很漂亮而且很流行,但是 20%(希望更少)仍然生活在黑暗时代的用户可能不会错过它们。

让代码在 IE6 中工作需要做一些工作,让代码验证也需要一些工作,但这并不意味着它们是同一种工作,或者其中一个会使另一个变得不可能。

实际上没有任何内容表明代码必须通过验证才能在 IE6 中运行。相反,验证的代码更有可能在任何浏览器中运行,而不仅仅是 IE6。您可以使用无效代码来规避一些 IE6 怪癖,但这并不是规避这些问题的唯一方法。当新的浏览器版本发布时,使用有效代码的方法也更有可能继续工作,这样您就不必为每个新的浏览器更新重新开始。

如果您不必同时考虑有效代码,那么让代码在 IE6 中运行当然会更容易,但这只是因为需要考虑的因素更多,而不是因为这些因素本身不兼容。

不,对于任何中等复杂的布局都是不可能的。

编辑:至少在不添加大量难看的条件的情况下是这样。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top