当您必须支持IE6?w3时,是否可以使用符合W3C标准的代码

时间:2009-12-03 19:17:19

标签: html w3c standards-compliance

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

你们有没有想过这个?

这就是我想要的:

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

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

HTML JS CSS

4 个答案:

答案 0 :(得分: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:是
  4. 事实上,IE6不仅仅是IE6和IE7(以及IE8)的有效代码问题,而且只在CSS中。验证您的主要CSS文件,但保持IE6 CSS与条件分开。

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

    如果他们提出适当的分组,则一个或两个divs不是邪恶的。用于修复divs的三个嵌套bug是邪恶的:)

答案 1 :(得分:4)

简短回答:是的!

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

如上所述,条件注释肯定有效,但开发有效代码会阻止您在各种条件下编写代码。

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

答案 2 :(得分:1)

使代码在IE6中工作是一项工作,并且有一些工作要使代码验证,但这并不意味着它是同一种工作或其中一个将使其他不可能。

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

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

答案 3 :(得分:0)

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

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