我正在写一个网页。我如何知道要使用的文档类型?:
<!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元素,浏览器会尝试支持它们吗?
由于
答案 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>
。