3

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

各位对此有什么想法吗?

这就是我想要的:

  • 语义代码 - 是
  • 验证码 - 是
  • 在 IE6 中工作 - 是的

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

HTML JS CSS

4

4 回答 4

11

是的,您可以拥有完全兼容的代码,并将 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修复 abug是邪恶的 :)

于 2009-12-03T19:20:39.503 回答
4

简短的回答:是的!

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

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

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

于 2009-12-03T19:44:24.400 回答
1

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

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

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

于 2009-12-03T19:41:29.290 回答
0

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

编辑:至少不是没有添加很多丑陋的条件。

于 2009-12-03T19:20:16.323 回答