如何知道使用哪种<!DOCTYPE>类型

6

我搜索了这里和互联网,但没有找到任何好的解释。很多人概述了文档类型,但没有解释如何确定哪种类型最适合您的代码...

所以我的问题是,我如何知道在我的网页中声明哪种类型的文档类型...我知道XHTML和HTML之间的区别,我不是在问那个,我在问哪种类型的文档类型,例如:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

或者

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

希望能有解释或链接……非常感谢!


可能是What's up, Doctype?的重复问题。 - Jukka K. Korpela
在SO上有大量关于这个问题的旧问题,其中包含好(和坏)的答案。 - Jukka K. Korpela
哦,谢谢指出来。我看了那些帖子,它们是很好的讨论。我只是想确保一下,因为那个帖子是从2009年的。 - nojohnny101
我们希望更新旧问题的答案,如果需要的话,而不是产生具有不同答案的重复问题。 - Jukka K. Korpela
有道理,下次我会这样做的。谢谢你的反馈。 - nojohnny101
3个回答

3

您可以使用任何您想要的标签,但在HTML5中建议使用此标签:

<!DOCTYPE html>

1
你最好的选择取决于你的情况。
如果你想让你的HTML页面在非常老的浏览器上正确工作,这些浏览器不支持(是的,有这样的浏览器,例如Netscape 6),那么严格的doctype确实是唯一的选择。
如果你想验证你的HTML页面,并且出于某种你不想透露的原因必须使用像
之类的元素,则过渡doctype是首选。
然而,这些都是极端情况,你应该考虑忘记它们。在大多数情况下,就可以了。不要看向过去,看向未来。

嘿,非常感谢,这很有道理...我现在正在使用<!DOCTYPE html>,但在旧版本的IE中出现了一些奇怪的行为,但我认为这需要通过我的CSS来解决,对吗?我会研究一下的...你知道每天我都在学习这些东西,我越来越讨厌微软创建这样的垃圾(IE)和额外的工作量...愚蠢。 - nojohnny101
1
旧版本的IE浏览器有奇怪的行为?如果你指的是IE7或更早的版本,那么这不是你可以用CSS修复的。它们就是很奇怪。 - Mr Lister
说真的,使用适当的文档类型声明就能走上正确的轨道。同时确保你的HTML或CSS中没有错误;不同的浏览器对错误的响应是不同的。为了迎合旧版浏览器,不要使用过于新的CSS或HTML特性。 - Mr Lister
@JukkaK.Korpela 我在回答原帖提出的问题,他们已经决定要使用文档类型声明,只是不确定该使用哪一个。想要使用文档类型声明是一件好事,因为它可以防止 Quirks 模式。不同的浏览器有不同的怪癖!老实说,在当今这个时代建立依赖于“Quirks 模式”的网页有点傻。 - Mr Lister
好的讨论...我维护着一个组织的旧网站,而我正在为这个新网站做准备。我查看了该网站过去三年的谷歌分析数据...90%的Windows用户使用IE8或更高版本...我们每年只有50次点击使用IE6或IE7,即使是使用IE,自2013年1月以来也在缓慢下降...所以我不会浪费过多时间迎合5%的人(在我的情况下并不多)...也许我应该庆幸这个网站并不是非常受欢迎!:D - nojohnny101
显示剩余5条评论

0

嘿,我知道文档类型,但你发的链接没有解释如何知道该使用哪个?也许我漏掉了什么,我是HTML和CSS的新手,但一直在按照w3schools.com和codeacademy教授的方式编写代码,那么他们教授哪种文档类型呢?这就是我的问题... - nojohnny101
@nojohnny101 - 目前w3schools教授的是<!DOCTYPE html>,这是很好的。但是w3schools所教授的并不是推荐的标准。此前,它教授的是XHTML 1.0 doctype,这在当时是一个非常糟糕的选择。 - Alohci
那很好知道......我以为w3schools是一个好去处,但他们曾经教授XHTML 1.0让我有点失去信心.....也许他们(作为一个网站)已经改进了......那是什么时候? - nojohnny101

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接