我应该使用哪种html doc类型?

时间:2010-08-01 01:05:52

标签: html

我正在写一个网页。我如何知道要使用的文档类型?:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

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

我相信使用Transitional背后的理由是,如果您的页面使用弃用的html元素,浏览器会尝试支持它们吗?

由于

3 个答案:

答案 0 :(得分:12)

我使用<!DOCTYPE html>,这是迄今为止最简单的替代方案,它会在所有现代浏览器中触发标准模式Anne van Kesteren noted several years ago

答案 1 :(得分:3)

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

HTML 4严格的DTD,如果你

a)不打算使用HTML 5元素

b)不打算真正使用带有Content-Type of application / xhtml + xml的xhtml

在这个时代,你真的不应该“过渡”或尝试使用旧的,已弃用的非标准元素。一路走标准。

如果您计划尝试HTML 5,请务必使用{5} DTD的<!DOCTYPE HTML>

答案 2 :(得分:3)

你应该选择严格的上述过渡/宽松/无效(!)。您的第一个过渡示例无效。它将允许任何浏览器以非标准/怪异模式呈现,它不会让IE以近乎标准模式呈现。

This site包含出色的背景信息和compatibilty table。以下是相关摘录:

  

标准模式,更稳定的验证目标

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

此doctype也触发标准模式,十年前的HTML 4.01有效性定义是稳定的。请务必在Firefox,Safari,Chrome或Opera 9或10中测试图像对齐。使用Internet Explorer测试图像对齐是不合适的,但也要确保在IE8中进行测试。

     

您希望使用标准模式,但仍希望验证已弃用的标记,或者在表格布局中使用切片图像并且不想修复它们

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

这为您提供了几乎标准模式(以及真正老式Mozilla版本中的完整标准模式)。请注意,如果您稍后转到HTML5(因此,完整的标准模式),基于表格中切片图像的布局为likely to break

我会说,除非你想要一个更稳定的验证目标,否则请转到HTML5 doctype <!DOCTYPE html>