注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

php开发lamp

《西安--木木》-经历丰富了生活。 架构师QQ群: 246695517

 
 
 

日志

 
 

html中DTD的作用—文档规范与呈现模式  

2013-07-06 18:00:45|  分类: html |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1. DTD在页面中的作用

 

①DTD(文档类型定义)是一组机器可读的规则,它们定义XMLHTML的特定版本中允许有什么,不允许有什么。在解析网页时,浏览器将使用这些规则检查页面的有效性并且采取相应的措施。(由DTD中定义的文档类型影响)

②DTD是对HTML文档声明,还会影响浏览器的渲染模式(工作模式)。(由页面中书写DTD的方式影响)

 

 

2. DTD规定XML或HTML中的标签和语法

 

1)HTML 4.01规定了三种文档类型:Strict、Transitional 以及 Frameset

①STRICT(严格类型):

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

②TRANSITIONAL(过渡类型):

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

③FRAMESET(框架类型):

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

 

2)XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。

①STRICT(严格类型):

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

②TRANSITIONAL(过渡类型):

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

③FRAMESET(框架类型):

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

 

3)HTML5只规定了一种文档类型:

<!DOCTYPE HTML>

 

 

3. DTD会影响浏览器的渲染模式:

 

1)浏览器的渲染模式:

标准模式(又叫严格模式,Standards mode 或者 Strict mode)。

混杂模式(又叫怪异模式,Quirks mode):对页面的处理方式永久冻结在IE5.5,主要体现盒模型的差异。

近似标准模式(又叫准标准模式,Almost Stands Mode):从字面意思上看与标准模式非常类似,但确实有小的差别。主要体现在对于表格单元格内垂直方向布局渲染差异。

 

2)DTD的不同导致渲染模式的不同

①XHTML文档包含形式完整的DOCTYPE,一般以标准模式呈现。

②HTML4.01文档,包含严格DTD的文档,一般也以标准模式呈现。

含过渡DTDURIDOCTYPE,一般以标准模式呈现。

含过渡DTD但没有URIDOCTYPE,会以混杂模式呈现。

⑤DOCTYPE不存在或不正确会导致HTMLXHTML文档以混杂模式呈现。

★具体呈现模式参见:http://hsivonen.iki.fi/doctype/

 

 

4. JavaScript中关于呈现模式的返回结果:

 

   HTML5 草案中,更加明确的规定了模式的定义:

传统名称

HTML5 草案名称

document.compatMode 返回值

standards mode 或者 strict mode

no-quirks mode

CSS1Compat

almost standards mode

limited-quirks mode

CSS1Compat

quirks mode

quirks mode

BackCompat

注:HTML5 草案关于 compatMode 的介绍:3.1.3 Resource metadata management

 

 

5. HTML5中,无需定义DTD的URL原因

 

1)HTML4.01和XHTML

①DTD 规定了使用通用标记语言(SGML)的网页的语法。

②诸如 HTML 这样的通用标记语言应该使用 DTD 来规定应用于某种特定文档中的标签的规则,这些规则包括一系列的元素和实体的声明。

③在通用标记语言(SGML)的文档类型声明或 DTD 中,XHTML 被详细地进行了描述。

④XHTML DTD 使用精确的可被计算机读取的语言来描述合法的 XHTML 标记的语法和句法。

 

2)HTML4.01中的doctype需要对DTD进行引用,因为HTML4.01基于SGML。而HTML 5不基于SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。

  评论这张
 
阅读(793)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017