在编写网页时使用哪种doctype?

时间:2009-06-06 08:55:19

标签: html

我只是对Google,Yahoo和Stackoverflow中的doctype使用感到好奇。

我发现以上3个网站都使用HTML4.01 doctype:

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

很多人说我们应该使用XHTML1.0 doctype,但上面3个网站不这样做。你知道为什么吗?

我还想知道在编写网页时您将使用哪种文档类型。

9 个答案:

答案 0 :(得分:6)

我使用HTML5 doctype:

<!DOCTYPE html>

因为XHTML在Web上不起作用,而doctype基本上只能触发标准布局模式,上述结构在每个浏览器中都能很好地运行。

答案 1 :(得分:3)

XHTML比普通的HTML严格得多,因此很难(甚至不可能,取决于你用来构建它的框架)来实现它。我已经看过许多声称是XHTML的网页并且在它上面失败很长时间(默默地将其内容作为“text / html”提供,因此页面加载完毕)。

只要整个HTML生成过程,我的意思是所有这些,还没有被抽象到框架中,我冒昧地说,不可能保证网页的结果生成过程是有效的XHTML。但是 - 今天使用的许多流行语言(大多数,我猜)直接构建HTML,具有不知道规范的人的所有错误潜力,或者只是不关心内部是否<div> <p>有效或无效。

除此之外,它没有明显优于HTML的优势,可以证明它的使用,特别是如果你想要的只是“在浏览器中为显示器构建一个网页”。

HTML 4.01在用户代理中得到很好的支持并且做得很好。就个人而言,我认为没有一个很好的理由转向XHTML。我并没有说没有,这个话题的学术性比人们想象的要多得多。

答案 2 :(得分:2)

我也一直在使用HTML 4,因为它具有最小的兼容性和最小的麻烦。此外,HTML 4 Strict是必须的,而不是Transitional(仅用于遗留页面,而不是整个网络[显然,这是使用它的地方])。最近SO上有一个问题,它与XHTML相对于HTML相关的好处和缺点有关:At the end of the day, why choose XHTML over HTML?

答案 3 :(得分:1)

这是因为IE不支持XHTML并将其解释为HTML ...所以一些设计师选择简单地使用HTML 4.01,这在所有浏览器中都更加统一支持。

一些参考:http://en.wikipedia.org/wiki/XHTML#Adoption

  

大多数网络浏览器都有成熟的支持   对于所有可能的XHTML媒体   类型。值得注意的例外是   Microsoft的Internet Explorer。

我经常使用HTML 4.01,因为如果我使用XHTML并且知道它在IE上并没有真正被解释为XHTML,那就继续使用它是很奇怪的。

答案 4 :(得分:1)

我在个人项目中使用HTML 4.01 Strict。让我不担心发送application/xhtml+xml,它具有完全向后兼容性,它给了我想要的那些技术限制。我仍然是一个标准极客,所以我的代码仍然很干净,即使使用的ML不需要它(那么多)来自我。

对我而言,XHTML似乎略有失败。几年后下一个最广泛使用的标准可能是HTML5,因为整个XHTML2项目似乎落后了。

我不是说现在使用它不好。通过使用XHTML而不是HTML,实际上很难获得优势。今天有多少基于XHTML的网页100%正确地做到了这一点?大多数情况下,他们在哑剧型上失败了。由于浏览器兼容性,允许text/html,但如果您查看XHTML存在的全部原因,它仍然是错误的。实际上XHTML带来了多少功能?

我想有一些,但绝大多数基于XHTML的网页只能将他们的doctype交换到HTML 4.01,并且功能也一样。

因此,除非我的应用程序特别需要XML集成,否则我可以在所有浏览器上使用XHTML(2?)的方式(基本上纠正MIME类型),我认为没有理由在HTML 4.01上使用它。即便如此,我可能会考虑在服务器端进行所有这些修改,并在模板中使用HTML。

答案 5 :(得分:0)

向后兼容性对这些网站很重要。对于Stackoverflow而言,与谷歌和雅虎不同。

答案 6 :(得分:0)

我认为这是标准兼容性与(基本上)旧浏览器兼容性之间的权衡。因此,这3个网站错误地支持后者。此外,除非您声明正确的doctype,否则某些页面无法正确呈现。

答案 7 :(得分:0)

如果您要包含用户生成内容的可能性,那么XHTML可能很难做到。在错误的地方放错了一个XML的东西,整个页面肯定无法加载。

答案 8 :(得分:0)

如果您有权访问分析,我会查看您的受众使用的浏览器,然后选择您认为最合适的DOCTYPE。如果所有访问者都在使用IE3,那么您应该选择一些时髦的旧HTML DOCTYPE。