在HTML 4.01中,<!DOCTYPE>声明是指文档类型定义(DTD)。 这是因为HTML 4.01基于标准通用标记语言(SGML)。
DTD指定了标记语言的规则,以便浏览器正确呈现内容。
HTML5不是基于SGML,因此不需要引用DTD。
这就是HTML5仅具有一种doctype的原因。
<!DOCTYPE html>
HTML4.0.1具有三种文档类型
Strict:此DTD包含所有HTML元素和属性,但不包括表达或不推荐使用的元素(如font)。 不允许使用frameset。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">
Transitional:此DTD包含所有HTML元素和属性,包括表示性和不推荐使用的元素(如font)。 不允许使用frameset。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
Frameset:此DTD等于HTML 4.01 Transitional,但允许使用frameset内容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "https://www.w3.org/TR/html4/frameset.dtd">
XHTML也具有三种doctype。
XHTML 1.0 Strict:此DTD包含所有HTML元素和属性,但不包括表达或不推荐使用的元素(如字体)。 不允许使用frameset。 标记还必须以格式正确的XML编写。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional:此DTD包含所有HTML元素和属性,包括表示性和不推荐使用的元素(如字体)。 不允许使用frameset。 标记还必须以格式正确的XML编写。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset:此DTD等同于XHTML 1.0过渡版,但允许使用frameset内容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
What is the difference between these DOCTYPE declarations?
Related Posts
- Xcode Swift “Cannot find ‘MyClass’ in scope”
- Amazon S3 存储桶无法删除
- 关闭Sublime Text更新检查
- Device supports arm64-v8a, but APK only supports armeabi on device *
- npm ERR! gyp verb `which` failed Error: not found: python
- c++ ‘-DNODE_GYP_MODULE_NAME=libsass’ ‘-DUSING_UV_SHARED=1’ ‘-
- Sublime Text 自动换行
- macOS中staff和wheel是什么?
- command not found: deno – macOS