`
ice-cream
  • 浏览: 328418 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

DOCTYPE文档类型声明

阅读更多
HTML 3.2  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
HTML 2.0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
HTML Strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML Transitional <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML Frameset <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 2.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">
XHTML 1.1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

 

 本文介绍关于如何定义一个合法的XHTML文档。

 

文档类型声明
在你每一个页面的顶端,你需要文档声明。是的,必须。

 

如果不指定文档类型,你的HTML不是合法的HTML,并且大部分浏览器会用“怪癖模式(quirks mode)”来处理页面,这意味着浏览器认为你自己也不知道究竟做什么,并且按浏览器自己的方式来处理你的代码。你可以是一个HTML大师,在地球上打遍 天下无敌手,或者你的HTML可以无瑕疵,CSS可以很完美,但如果没有文档声明,或者错误的文档声明,你的网页与一个短视的,独眼的长臂猿婴儿十分艰难 地堆砌起来的没两样。

 

XHTML 1.0 Strict(严格)的文档声明是这样的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">

 

下面的是XHTML 1.1的文档声明,作为XHTML的最新版本,看起来更完美,但还是有一些问题,随后我们会稍微讲解
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd ">

 

如果你不愿放弃HTML 4或者你还有Netscape 4死忠用户,你可以使用XHTML 1.0 Transitional(过渡型):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">

 

你使用这的唯一理由是你还要兼容老版本的,少用的浏览器。过渡型XHTML 1.0允许HTML 4的表现元素,其也可能在如Netscape 4的浏览器中表现更好。但使用这些元素将对你网页的效率和可用性有害。

 

最后,如果你是使用框架的怪人之一,可以使用像下面一样的XHTML 1.0 Frameset(框架)文档类型声明:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd ">

 

注意DOCTYPE标签必须大写和前置一个英文半角感叹号!。它是唯一一个打破规则的标签,它不需要关闭。

 

我做了个统计发现:

yahoo taobao 百度有啊用的声明是这样的

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

 

网易,腾讯 等大部分网站用的声明是这样的(我做的网站也是采用这种声明)

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


还有一小部分声明是这样的(例如:IBM ,岁月如歌 )

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

 

分享到:
评论
4 楼 wenzhui5 2011-08-08  
很少看到这样子的分析啊!收藏,嘿嘿
3 楼 hozaka 2009-01-14  
其实我很喜欢用 strict 来设计网页,但是网页不是我一个人在做,团队中其他成员对 W3C 的理解参差不齐,所以只好退而求其次用 traditional。

至于 target="_blank" 我觉得已经是一种对行为的控制了,而和文档本身的描述性完全没关系,所以不被支持也是很合理的
2 楼 ice-cream 2009-01-14  
网站重构这本书我也没看过,听说是本不错的书。
有时间去图书城泡上一天,去看看这本书
1 楼 ice-cream 2009-01-14  
火星叔叔马丁 写道

一般网站都采用xhtml过渡格式声明

我也认同,所以我说“网易,腾讯等大部分网站用的声明是过渡型的”。
但是不明白yahoo taobao 百度有啊这么网站为什么还是用的HTML 4.01。

相关推荐

    DOCTYPE 文档类型声明(网页爱好者必看)

    DOCTYPE文档类型声明是HTML或XHTML文档中的一个重要组成部分,它位于文档的开头,用来告诉浏览器文档遵循的规范。不正确或缺失的DOCTYPE声明可能导致浏览器以“怪癖模式”解析页面,这种模式下,浏览器可能会根据...

    HTML !DOCTYPE 标签 声明HTML版本

    DOCTYPE&gt; 声明,这样浏览器才能获知文档类型。 HTML 4.01 与 HTML5 之间的差异 在 HTML 4.01 中有三种 &lt;!DOCTYPE&gt; 声明。在 HTML5 中只有一种: &lt;!DOCTYPE html&gt; HTML 元素和文档类型(Doctype) 提示和注释 ...

    HTML和XHTML的联系与区别,文档类型<!DOCTYPE>

    3. **文档类型声明**:在HTML和XHTML中,文档类型的声明`&lt;!DOCTYPE&gt;`用于指示浏览器按照哪种标准解析文档。例如,HTML 4.01的声明可能为`&lt;!DOCTYPE ...

    HTML !DOCTYPE 标签.docx

    DOCTYPE&gt;`标签是文档类型声明,它在HTML或XHTML文档的开头,用于告诉浏览器文档遵循的HTML或XHTML规范。这个声明非常重要,因为它会影响浏览器如何解析和渲染页面内容。`&lt;!DOCTYPE&gt;`标签没有闭合标签,即它不需要以`...

    H5常用标签汇总

    其中,DOCTYPE文档类型声明用来告诉浏览器所查看的文件类型,html元素是文档的开始和结束元素,head元素用来包含元数据内容,meta元素用来提供关于文档的信息,title元素用来设置浏览器左上角的标题,body元素用来...

    DTD(文档类型定义)

    外部DTD声明将DTD定义存储在单独的文件中,然后在XML文档的`&lt;!DOCTYPE&gt;`声明中引用。这有利于代码重用和维护。例如: ```xml &lt;!DOCTYPE myDoc SYSTEM "myDTD.dtd"&gt; ``` 在这个例子中,`myDTD.dtd`文件包含了`...

    html标题_DOCTYPE的含义

    **DOCTYPE声明**是HTML或XHTML文档中的一个重要组成部分,它位于文档的第一行,用来告诉浏览器文档应遵循哪个版本的HTML或XHTML规范。这个声明对于确保网页在不同浏览器上的一致性和正确渲染至关重要。 DOCTYPE声明...

    打开NCC重量端,新增接口和实现类的upm文件时,报的DOCTYPE 根 null

    这个错误通常出现在XML文档解析过程中,表示文档类型声明(DOCTYPE)缺失或者不正确,这会导致XML解析器无法识别文件结构,从而引发异常。 XML DOCTYPE声明用于定义XML文档的公共标识符和系统标识符,它提供了关于...

    DOCTYPE.rar_page

    标题中的"DOCTYPE.rar_page"可能是指一个HTML页面的DOCTYPE声明被存入了一个名为"DOCTYPE.rar"的压缩文件中,而".rar_page"可能是某种特定的文件结构或者命名约定,表示这是压缩包内的一个页面文件。描述提到的是...

    HTML 版本声明 DOCTYPE 标签

    HTML版本声明DOCTYPE标签是HTML文档中用来指定文档类型和版本的指令,它位于文档的最前面,告知浏览器该文档所遵循的HTML规范。DOCTYPE声明不是HTML标签,而是一条浏览器指令,用于告诉浏览器这个文档是以什么版本的...

    文章配套网页源代码-HTML <!DOCTYPE> 声明

    博客文章: 关于HTML中的 &lt;!DOCTYPE&gt; 声明 文章配套示例HTML源代码 内容说明:DOCTYPE是Document Type(文档类型)的简写,要想制作符合标准的HTML页面,一个必不可少的关键组成部分就是DOCTYPE声明。

    XML(文档类型定义dtd)

    - **外部DTD**:定义在独立的DTD文件中,XML文档通过文档类型声明引用该文件。适用于大型或复杂的文档结构,便于复用和维护。 **内部DTD与外部DTD的联合使用** 在实际应用中,通常结合使用内部DTD和外部DTD,以实现...

    XHTML三种文件类型声明

    XHTML定义了三种文件类型声明。 最普遍使用的是XHTML Transitional。 &lt;!DOCTYPE&gt;是强制使用的。 一个XHTML文档有三个主要的部分: DOCTYPE Head Body 基本的文档结构是这样的: &lt;!DOCTYPE …&gt;&lt;...

    XML入门教程:文档类型声明-XML/XSLT

    在XML中,文档类型声明(DOCTYPE Declaration)扮演着关键角色,它用于指定一个XML文档所遵循的语法规则,即文档类型定义(DTD,Document Type Definition)。 DTD是一种规范,用于定义XML文档的结构,包括元素、...

    DOCTYPE html.docx

    DOCTYPES(文档类型声明) 在HTML文档中,第一个标签是DOCTYPE,用于声明文档类型。DOCTYPE是Document Type Declaration的缩写,用于告诉浏览器该文档遵循哪个HTML或XHTML的版本标准。在这个例子中,使用的是HTML5...

    HTML DOCTYPE的缩写

    这种简化的DOCTYPE声明,其优势在于易于记忆,同时能够确保浏览器以标准模式渲染页面,从而避免出现因为文档类型声明错误而引起的不一致显示问题。然而,这种缩写形式并不是所有HTML版本或XHTML版本都适用的通用规则...

    div+css布局(详细解说)

    #### 一、文档类型声明DOCTYPE 文档类型声明(DOCTYPE)是HTML文档头部的一个重要组成部分,用于告诉浏览器该文档遵循何种标准编写。不同的DOCTYPE会影响到浏览器对文档的解析方式,特别是CSS样式的呈现效果。 - *...

    html的文档类型说明

    关于html的文档类型说明简介。HTML DOCTYPE 标签 -- DTDs 文档类型声明DOCTYPE 标签 -- 定义了标准文档的类型, DOCTYPE标签是单独出现的, DOCTYPE,简称为DTDs,是英文Document type的缩写,中文“文档类型”

    计算机xm编程文档类型应用

    - DTD中可以声明XML文档中允许存在的元素类型、元素的属性、元素间的关系(如嵌套和顺序)以及元素内容的合法性。 **2. DTD声明** - DTD声明有两种方式:内部DTD和外部DTD。 - **内部DTD**是将DTD定义直接放入XML...

Global site tag (gtag.js) - Google Analytics