我正在努力激励我的团队成员让我们的代码进行验证,但似乎有一些幻灭,因为我们仍然需要支持IE6。
你们有没有想过这个?
这就是我想要的:
- 语义代码 - 是
- 验证码 - 是
- 适用于IE6 - 是
让我们不要在这里争论语义lol。 =]
HTML JS CSS
答案 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和编码方面的正确知识都有可能。
事实上,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)
不,任何中等复杂的布局都不可能。
编辑:至少没有添加许多丑陋的条件。