!DOCTYPE声明
一、什么是<!DOCTYPE>?
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前,<!DOCTYPE> 声明不是一个 HTML 标签;它是用来告知 Web 浏览器页面使用了哪种 HTML 版本,以便于浏览器的解析器使用正确的文档标准解析这个文档。若声明错误或未声明会导致文档以怪异模式呈现。
注意:1.<!DOCTYPE> 标签没有结束标签。
2.<!DOCTYPE> 声明不区分大小写。
3.总是先给 HTML 文档添加 <!DOCTYPE> 声明,确保浏览器能够预先知道文档类型。
二、HTML常见的 DOCTYPE 声明
1.HTML 5
HTML5 不是基于 SGML,因此不要求引用 DTD(Document Type Definition,中文意思为“文档类型声明”)。HTML5 中仅规定了一种DOCTYPE声明:
<!DOCTYPE html>
2.HTML 4.01
在 HTML 4.01 中,<!DOCTYPE> 声明需引用 DTD (文档类型声明),因为 HTML 4.01 是基于 SGML (Standard Generalized Markup Language 标准通用标记语言)。DTD 指严格的文档类定义定了标记语言的规则,确保了浏览器能够正确的渲染内容。HTML 4.01 规定了三种不同的 <!DOCTYPE> 声明,分别是:Strict(严格的文档类声明)、Transitional (过度的文档类声明)和 Frameset(框架集文档类声明)。
1)HTML 4.01 Strict
这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font )。框架集是不允许的。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2)HTML 4.01 Transitional
这个 DTD 包含所有 HTML 元素和属性,包括表象或过时的元素(如 font )。框架集是不允许的。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3)HTML 4.01 Frameset
这个 DTD 与 HTML 4.01 Transitional 相同,但是允许使用框架集内容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
3.XHTML声明
1)XHTML 1.0 Strict
这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font )。框架集是不允许的。结构必须按标准格式的 XML 进行书写。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2)XHTML 1.0 Transitional
这个 DTD 包含所有 HTML 元素和属性,包括表象或过时的元素(如 font )。框架集是不允许的。结构必须按标准格式的 XML 进行书写。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3)XHTML 1.0 Frameset
这个 DTD 与 XHTML 1.0 Transitional 相同,但是允许使用框架集内容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
4)XHTML 1.1
这个 DTD 与 XHTML 1.0 Strict 相同,但是允许您添加模块(例如为东亚语言提供 ruby 支持)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4.HTML 元素和有效 DOCTYPES
以下链接中的表格列出了所有的 HTML5/HTML 4.01/XHTML 元素,以及它们会出现在什么文档类型 (!DOCTYPE) 中,效果如
图。
!DOCTYPE声明相关推荐
- DOCTYPE声明的几种类型
DOCTYPE声明的几种类型 DOCTYPE 声明决定着浏览器怎么去解析和渲染当前页面,所以对于页面来说是很重要的. HTML5时代,统一用 <!DOCTYPE html> 这样简单的方式 ...
- DOCTYPE声明作用及用法详解
一.浏览器呈现模式和doctype 有的网页是遵循标准而创作的,但也有很多不是.即使你不能创建遵循标准的网页,也希望浏览器根据标准来正确显示那些页.目前,大量网页充斥着大量非标准代码,它们仍能正常地工 ...
- DOCTYPE声明对JS获取窗口宽度和高度的影响【转】
[摘注]:以下说法不准确,不是有没有DOCTYPE声明,而是不同的DOCTYPE声明对js的处理有影响. 在没有DOCTYPE声明的情况下: document.body.clientWidth doc ...
- doctype声明的意义
1.DOCTYPE是document type(文档类型)的简写,在Web设计中用来说明你用的XHTML或者HTML是什么版本. 要建立符合标准的XHTML网页,DOCTYPE声明是必不可少的关键组成 ...
- 为什么要用!DOCTYPE声明
实例: 我们经常会看到类似这样的代码: <!DOCTYPE html> <html> <head> <title>文档的标题</title> ...
- doctype声明、浏览器的标准、怪异等模式
doctype 标准(严格)模式(Standards Mode).怪异(混杂)模式(Quirks Mode),如何触发,区分他们有何意义? 触发标准模式 1.加DOCTYPE声明,比如: <!D ...
- java doctype_HTML !DOCTYPE 声明 | 菜鸟教程
HTML 声明 实例 文档标题文档内容...... 尝试一下 » 浏览器支持 所有主流浏览器都支持 声明. 标签定义及使用说明 声明位于文档中的最前面的位置,处于 标签之前. 声明不是一个 HTML ...
- DOCTYPE 声明
DOCTYPE 声明标题 文章目录 DOCTYPE 声明标题 Doctype作用?严格模式与混杂模式如何区分?它们有何意义? Doctype定义 作用 严格模式与混杂模式如何区分? 意义 Doctyp ...
- 2019-7-22 [HTML] 基本结构 DOCTYPE声明 标签:[title meta 标题 段落 换行 加粗 斜体 下划线] 注释 特殊字符 img标签 a标签
文章目录 0.HTML网页技术(基础) 1 HTML概述 1.1 什么是HTML? 1.2 Hello,HTML! 2 HBuilder的安装与使用 2.1 安装HBuilder 2.2 使创建项目 ...
- DOCTYPE声明方式
工作了这么久不知道DOCTYPE的作用是什么,更不知道不同声明方式之间的差异,水平小菜凭这点一下就暴露了,惭愧惭愧!查阅文档整理如下: 1. 标准模式与混杂模式 由于历史发展的原因,不同浏览器对同一个 ...
最新文章
- 【C语言】一些简单编译错误或警告
- Brocade IP 产品配置 与Cicso比较
- JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
- 基于android的考勤定位算法,基于移动定位服务的考勤管理系统
- 解决OutOfMemoryError: unable to create new native thread问题
- 在虚拟机中安装和配配置 MOSS2007 全过程
- 《奠基计算机网络》2011年8月15日出版 视频下载 http://www.91xueit.com
- 【2021ACL】NLP的应用
- Wireshark实战分析之IP协议(二)
- CmsEasy7.6.3.2逻辑漏洞
- 漏洞复现|Microsoft Office数学公式编辑器内存损坏漏洞(CVE-2017-11882 )
- 3西格玛计算公式_3西格玛的计算原理是什么?为什么用它来衡量品质的好坏?...
- 图文讲解如何在outlook里设置绑定Gmail企业邮箱教程
- 3.3. debug ip igrp
- 以莺尾花数据集为例,探讨R模型部署之道
- 局域网内即时通信软件 ZSCQ -工作进度记录表
- Highcharts插件常用配置
- 【转】VB6和VB.NET的区别
- 通信网基础作业答案整理
- 二维数组8:设计题 RingBuffer的原理和实现
热门文章
- 暴力破解———罗马数字逆向解法,猜年龄利用位数信息,罗马数字的枚举解法
- 对话百度资深工程师辜斯缪 解密百度实体搜索
- 关系数据库标准语言SQL
- 记录我的caffe2 vs2017安装过程
- 网络编程实战之高级篇, 彻底解决面试C10k问题, 高并发服务器, IO多路复用, 同时监视多个IO事件
- 【原创】电脑为什么会慢?C盘空间越来越小?怎么清理?请看本文
- windows7环境下安装centos7,双系统切换
- Cadence OrCAD Capture标准化设计AliasRot功能介绍图文与视频演示
- 《程序员养成记》第7集 珍爱生命远离编程
- mysql中statement_Statement (操作 SQL 语句)