0

HTML中doctype的作用及几种类型详解

 1 year ago
source link: https://blog.p2hp.com/archives/9704
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一、DOCTYPE标签的定义与作用

<!DOCTYPE>是一个用于声明当前HTMl版本,用来告知web浏览器该文档使用是哪种 HTML 或者 XHTML 规范来解析页面,以便浏览器更加准确的理解页面内容,更加良好地展现内容效果!

二、DOCTYPE标签的特点

1.<!DOCTYPE> 标签没有结束标签;

2.<!DOCTYPE>声明被所有主流浏览器支持;

3.<!DOCTYPE>声明不是一个HTML标签,在HTML5中是可以不区分大小写的;

4.<!DOCTYPE>声明必须位于HTML文档中最前面,处于<html>标签之前;

注:HTML4.01是基于SGML(标准通用标记语言)的,需要以<!DOCTYPE>声明引用一个DTD(文档类型定义),用来保证浏览器按照DTD指定的标记规则解析网页内容!HTML5不基于SGML,所以不需要指定DTD。

三、DOCTYPE与浏览器模式

 1.声明与否的影响

<!DOCTYPE>声明的前面是没有任何内容的,如果有其他内容(空格除外)就会使浏览器在 IE下开启怪异模式渲染网页;如果浏览器进入怪异模式,就会按自己的方式解析渲染页面。那么,在不同的浏览器下,显示的样式效果会不一致。

如果不写文档DOCTYPE声明,浏览器将无法获知HTML或XHTML文档的类型,也会进入怪异模式;还有在IE6以下版本永远进入怪异模式;

但是,只要我们对文档DOCTYPE做了正确的声明,浏览器就会进入标准模式;浏览器会按照W3C的标准来解析渲染页面,那么,在所有的浏览器下,显示的样式效果会保持一致。因此, <!DOCTYPE>声明还是很有必要的。

  2.标准模式和兼容模式

若文档为标准模式,则该文档的排版与JS运作模式都是以该浏览器支持的最高标准运行;兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。

四、DOCTYPE常见声明类型

HTML中<!DOCTYPE>常见声明类型共有8种,分别是html5有1种,HTML 4.01和XHTML 1.0都有3种,XHTML 1.1有1种,它们的写法如下:

1.HTML5 <!DOCTYPE>声明——》<!doctype html>

2.HTML 4.01和XHTML 1.0

strict包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

transitional该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

framesets该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。

3.XHTML 1.1规定了一种声明, 等同于 XHTML 1.0 Strict,但允许添加模型。

五、DOCTYPE对HTML标签的影响

html版本经过了几次的升级,每次升级都会弃用一些不适用的旧标签,而增加某些新的html标签。因此,对于不同html版本的doctype文档类型声明,能合法使用的html标签也是有所不同。比如:

<article>和<aside>标签,能在html5中能使用,而在HTML 4.01和XHTML中就不能使用;

<center>标签,在html5和XHTML1.0版本中是不可用的,而在HTML4.01和XHTML1.1的<!DOCTYPE>声明中,只有Transitional和Frameset是可用的!由此可见,<!DOCTYPE>声明的html版本,也决定了哪些html标签可以合法使用!

以上内容原文转自(https://www.liudaima.com/a/45.html),如有侵权,联系删除


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK