HTML <!doctype>声明
昨天看代码的时候,发现在<!doctype>中添加了新的属性,以前写代码的时候并不会在该声明里添加新的属性。昨天看到了,就把它记下来学习一下,顺便整理成文档。以便日后复习。
<!DOCTYPE >定义与用法
1、所有的浏览器都支持<!doctype>声明;
2、<!doctype>不是HTML标签。它是为浏览器提供一项信息(声明),即HTML用什么版本编写的
3、在HTML 4.01中<!doctype>声明DTD,因为HTML 4.01基于SMGL。DTD规定了标记语言规则,这样浏览器才能正确的呈现内容。HTML5不基于SGML,所以不需要引用DTD。
4、这个标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。public 这行声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的URL 作为寻找 DTD 的位置。
常见的 DOCTYPE 声明
HTML 5
<!doctype html>
HTML 4.01 Strict --该DTD包含所有HTML元素和属性,但不包括展示性和弃用的元素(eg:font)。不允许框架集(Framesets)
<!DOCTYPE HTML PUBLIC "-// W3C // DTD HTML 4.01 // EN" " http://www.w3.org / TR / html4 / strict.dtd">
HTML 4.01 Transitional ---- 该DTD包含所有HTML 元素和属性,包含展示性的和弃用的元素(eg:font),不允许框架集(Framesets)
<!DOCTYPE HTML PUBLIC "-// W3C // DTD HTML 4.01 Transitional //EN" "http://www.w3.org /TR / html4 / loose.dtd>
HTML4.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>
XHTML 1.0 Strict ---该DTD包含所有HTML元素和属性,但不包括展示性和弃用的元素(font)。不允许框架集(Framesets) 必须以格式正确的 XML 来编写标记
<!DOCTYPE html PUBLIC "-// W3C // DTD XHTML 1.0 Strict //EN" "http://www.w3.org /TR / xhtml1/DTD/xhtml1-strict.dtd>
XHTML 1.0 Transitional ---- 该DTD包含所有HTML 元素和属性,包含展示性和弃用的元素。不允许框架集(Framesets),必须以格式正确的XML编写标记
<! DOCTYPE html PUBLIC "-//W3C // DTD XHTML 1.0 Frameset // EN " "http://www.w3.org/TR /xhtml1/DTD/xhtml1-frameset.dtd">
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">
<!DOCTYPE > 的作用
1、 声明文档解析类型,避免浏览器的怪异模式
document.compatMode:
BackCompat:怪异模式,浏览器以自己的怪异模式解析渲染页面
Css1Compat:标准模式,浏览器使用W3C的标准解析渲染页面
HTML <!doctype>声明的更多相关文章
- DOCTYPE声明作用及用法详解
一.浏览器呈现模式和doctype 有的网页是遵循标准而创作的,但也有很多不是.即使你不能创建遵循标准的网页,也希望浏览器根据标准来正确显示那些页.目前,大量网页充斥着大量非标准代码,它们仍能正常地工 ...
- 常见HTML的!DOCTYPE声明
HTML或者XHTML版本 !DOCTYPE声明 HTML 2.0 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> HTM ...
- DOCTYPE声明的作用是什么?严格模式与混杂模式如何区分?
HTML语言已经存在太久了,目前必然会有一些不同版本的文档存在,为了能够让浏览器清楚你的文档的版本类型和风格,需要在文档的起始用DOCTYPE声明制定当前文档的版本和风格.如果在网页中提供了版本信息, ...
- 常用的 DOCTYPE 声明
常用的 DOCTYPE 声明 HTML 5 <!DOCTYPE html> HTML 4.01 Strict 该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 ...
- doctype声明、浏览器的标准、怪异等模式
doctype 标准(严格)模式(Standards Mode).怪异(混杂)模式(Quirks Mode),如何触发,区分他们有何意义? 触发标准模式 1.加DOCTYPE声明,比如:<!DO ...
- DOCTYPE声明的几种类型
DOCTYPE声明的几种类型 DOCTYPE 声明决定着浏览器怎么去解析和渲染当前页面,所以对于页面来说是很重要的. HTML5时代,统一用 <!DOCTYPE html> 这样简单的方式 ...
- <!DOCTYPE> 声明 引发的错误
<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. 在写模板的时候,因为最近开始给每个文件添加注释,无意中将注释写在文件的第一行.导致页面 ...
- html<!DOCTYPE>声明标签
html<!DOCTYPE>声明标签 <DOCTYPE>声明是html文档的第一行,位于<html>标签之前 <DOCTYPE>声明不是html标签,他 ...
- 说说html 的<!DOCTYPE>声明&标准模式与兼容模式
我们都知道<!DOCTYPE>声明位于文档的最前面,处于<html>标签之前. <!DOCTYPE>声明不是html标签,它的作用:告知web浏览界面应该使用哪个h ...
- !DOCTYPE 声明
!DOCTYPE 声明的作用: <!DOCTYPE html> 当使用 position 属性进行对齐时,请始终包含 !DOCTYPE 声明!如果省略,则会在 IE 浏览器中产生奇怪的结果 ...
随机推荐
- JS的事件流概念*******
事件的概念 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件.页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件. 事件流 事件流描述的 ...
- 认识与入门 Markdown
Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的语法十分简单.常用的标记符号也不 ...
- leetcode 890. Possible Bipartition
Given a set of N people (numbered 1, 2, ..., N), we would like to split everyone into two groups of ...
- linux字符设备学习笔记【原创】
1.申请设备号 int register_chrdev_region(dev_t from, unsigned count, const char *name) 指定从设备号from开始,申请coun ...
- LightOJ - 1321 Sending Packets —— 概率期望
题目链接:https://vjudge.net/problem/LightOJ-1321 1321 - Sending Packets PDF (English) Statistics Foru ...
- 算法(Algorithms)第4版 练习 1.3.13
(a) 0 1 2 3 4 5 6 7 8 9 (b) 4 6 8 7 5 3 2 9 0 1 (c) 2 5 6 7 4 8 9 3 1 0 (d) 4 3 2 1 0 5 6 7 8 9 答案:b ...
- 使用同一个目的port的p2p协议传输的tcp流特征相似度计算
结论: (1)使用同一个目的port的p2p协议传输的tcp流特征相似度高达99%.如果他们是cc通信,那么应该都算在一起,反之就都不是cc通信流. (2)使用不同目的端口的p2p协议传输的tcp流相 ...
- mybatis传递多个参数值(转)
Mybatis传递多个参数 ibatis3如何传递多个参数有两个方法:一种是使用Map,另一种是使用JavaBean. <!-- 使用HashMap传递多个参数 para ...
- c# json 排版
public static string PraseToJson(string json) { try { JsonSerializer s = new JsonSerializer(); JsonR ...
- VirtualBox文件系统已满--磁盘扩容
第1步:为virtualbox虚拟电脑扩容 进入命令行,以Windows系统为例 (特别注意空格和中文) 1.启动CMD命令行,进入VirtualBox的安装目录.如 运行:cmd C:\Users\ ...