我正在开发一个新网站,我希望尽可能轻松地支持尽可能多的旧浏览器和操作系统。从我一直在阅读的内容来看,我知道我最好避免怪癖模式,所以我需要决定最好的doctype。每个人似乎都在推荐HTML5版本:
<!DOCTYPE html>
但是根据这个网站,还推荐HTML5版本: https://hsivonen.fi/doctype/,该doctype将在Netscape 6中触发怪癖模式,也可能在Konqueror 3.2中触发。但是这一个:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
不会在该网站上列出的任何浏览器中触发怪癖模式。
所以我的问题是,为什么我不应该使用第二个doctype?我知道这些都是我关注的旧浏览器,但我已经看到最近的统计数据称Netscape 6仍然在使用,至少在俄罗斯是这样。在我居住的地方,我仍然看到很多人使用Windows XP。因此,虽然我不想花费大量时间来支持过时的浏览器,但我想知道使用第二个浏览器是否有任何缺点,除了它更长并且看起来很复杂。
编辑:到目前为止发布的所有答案和评论都非常有用。现在我开始看到它在以下两者之间进行权衡: 1)语义正确,和 2)将更多旧的浏览器放入标准模式,而不是怪癖模式
在大多数情况下,#1可能更重要,因为没有多少人使用那些真正旧的浏览器。如果他们这样做,他们可能会习惯于看起来有些偏差。但是,如果您更关心在旧版浏览器中看起来更好的东西,那么#2可能是更好的选择。
无论如何,我会等待一段时间,看看是否有人添加了更多的答案或评论。谢谢!
编辑2:所有3个答案都很有帮助。其中2个帮助我明确了解我需要什么,所以我选择了其中之一。但如果可以的话,我会选择两者。
答案 0 :(得分:1)
我能想到的唯一原因是,如果您希望或将来需要使用HTML 5,您将能够更轻松地完成HTML 5中的所有操作。
浏览器应该没有问题处理它是严格的4.01并且将显示它就像它没有反正的doctype一样。
基本上从“页面看起来像什么”的观点来看,你的严格4.01在html 5文档类型中看起来与在严格中一样。
话虽如此,它确实取决于您的HTML,但某些时候您需要这样做,但可能无关紧要
关于doctype声明的更多信息真的很好的链接: http://www.htmlgoodies.com/html5/markup/the-doctype-tag-and-its-effect-on-page-rendering.html#fbid=JCm-bKCUNc6
答案 1 :(得分:1)
有几个原因:
旧的浏览器(那些不支持html5的浏览器)不会永远存在,有一天会消失,但那些支持html5的浏览器需要很长时间才能成为一个旧的浏览器&#34; 。因此,请尝试利用所有新的html5特性。
HTML5有一些更适合S.E.O
所以我建议您使用html5并尝试尽力制作&#34;旧浏览器&#34;运行你的html5网站。
答案 2 :(得分:0)
我会使用,但不使用任何HTML 5特定功能,我认为这将很好地工作。较旧的浏览器尝试尽可能好地呈现页面。在任何情况下,如果您想要使用HTML 5功能,您可以随时查看它们是否在您的javascript代码中可用或使用诸如modernizr之类的框架。
答案 3 :(得分:0)
根据我的主要原因是:
<!DOCTYPE html>
Html5:支持页眉,页脚和部分标记。这个标签很容易被Google搜索到“搜索引擎优化”。因此,谷歌将其作为重要内容放在我们的页面上。
对于“4.01严格”: 不支持这些页眉,页脚和节标记。