`
hailong4688199
  • 浏览: 10319 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

Html中DOCTYPE的定义

阅读更多

不管是刚接触前端,还是你已经“精通”web前端开发的内容,你应该知道在你写html的时候需要定义文档类型;你知道如果没有它,浏览器在渲染页面的时候会使用怪异模式;你知道各个浏览器在怪异模式下对各个元素渲染是有差异的。所以你会写像这样的doctype:

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

好在现在的各种web开发工具都足够强大,支持插入模板代码,因此你并不需要把这又长又臭的doctype一个个字母的敲出来。但是如果你受够了它,你也许可以尝试下面这个写法:

?View Code HTML
1
<!DOCTYPE html>

哇哦,很简洁哦!好处显而易见:一、你可以轻松的写下这个doctype,而不用担心会写错;二、你大概省下了105字节字符,对于一个每日PV达到千万级的站点,它可以省下相当客观流量;三、它是向后兼容的,是的,html5的doctype就是这样写的,并且现代浏览器都认识它。

如果你跟我一样一直以为:没有指定dtd将会开启浏览器的怪异模式,这种说法是错的!正确的说法应该是没有定义doctype才会开启怪异模式,也就是说你只需要定义<!doctype html>就可以让浏览器在严格模式(标准模式)下渲染页面,而不需要指定某个类型dtd。让我们来回顾一下,所有的浏览器都需要两种模式:怪异模式和严格模式(也有人叫标准模式)。IE 6 for Windows/mac, Mozilla, Safari和Opera 都实现了这两种模式,但是IE 6以下版本永远定在了怪异模式。关于两种模式,你需要知道以下几点:

  1. 在标准化之前写的页面是没有doctype的,因此没有doctype的页面是在怪异模式下渲染的。
  2. 反过来说,如果web开发人员加入的doctype,说明他知道他所要做的事情,大部分的doctype会开启严格模式(标准模式),页面也会按照标准来渲染。
  3. 任何新的或者未知的doctype都会开启严格模式(标准模式)。
  4. 每个浏览器都有自己的方式来激活怪异模式。你可以看看这个清单:http://hsivonen.iki.fi/doctype/

注意:你可以根本不需要根据你选择的doctype来验证你的页面,只要doctype标签存在就足以开启严格模式(标准模式)了。如果你对我说的这些还是感到怀疑,那么请前往http://www.quirksmode.org/css/quirksmode.html#link2了解你想知道的内容。我们只需要一小段JavaScript代码就可以得到答案,它就是:

?View Code JAVASCRIPT
1
mode=document.compatMode;

这个代码可以用来判断,当前浏览器是处于怪异模式还是标准模式,该属性的兼容性毋庸置疑,如果你表示怀疑,可以查看http://www.quirksmode.org/dom/w3c_html.html#t11。你可以在你想测试的浏览器里访问:http://wanz.im/demo/doctype-test.html,便可看到结果了,据我所知,这样并没有激活怪异模式,即使是ie6下,如果你有什么新发现,欢迎给我留言。

 

分享到:
评论

相关推荐

    HTML !DOCTYPE 标签 声明HTML版本

    DOCTYPE&gt;标签的定义和用法。 准确的说,&lt;!DOCTYPE&gt;并不是HTML标签,它声明web浏览器关于页面使用哪个 HTML 版本进行编写的指令。 在 HTML 4.01 中,&lt;!DOCTYPE&gt; 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了...

    HTML 元素与合法的 Doctype.docx

    HTML(HyperText Markup Language)是用于创建网页的标准标记语言,DOCTYPE是HTML文档中的一个重要部分,它定义了文档遵循的HTML或XHTML规范的版本。DOCTYPE声明位于HTML文档的顶部,通常在`&lt;html&gt;`标签之前,告诉...

    HTML !DOCTYPE 标签.docx

    DOCTYPE&gt;`标签是HTML文档中必不可少的一部分,它定义了文档所遵循的规范,影响浏览器的解析方式,从而确保代码的标准化和兼容性。选择合适的DTD类型可以更好地控制文档的结构和样式,同时提高对不同浏览器的兼容性。

    html标题_DOCTYPE的含义

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

    DOCTYPE html PUBLIC.doc

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;` 这行代码定义了文档类型为XHTML 1.0 Transitional,这是一种过渡性的HTML版本,允许...

    DOCTYPE文档类型声明

    DOCTYPE声明不是HTML或XHTML的一部分,而是引用了一个外部的文档类型定义(DTD),这个DTD定义了文档结构的规则和语法。 在不同的HTML和XHTML版本中,DOCTYPE声明的格式有所不同。例如,HTML 3.2的DOCTYPE声明是`&lt;!...

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

    2. **语义相似**:两者都使用相同的元素来定义网页的结构,如`&lt;html&gt;`, `&lt;head&gt;`, `&lt;body&gt;`, `&lt;p&gt;`, `&lt;div&gt;`等。 3. **文档类型声明**:在HTML和XHTML中,文档类型的声明`&lt;!DOCTYPE&gt;`用于指示浏览器按照哪种标准解析...

    为什么使用DOCTYPE HTML

    DOCTYPE HTML 是HTML文档中的一个重要声明,它告诉浏览器文档遵循的HTML或XHTML规范。这个声明位于HTML文档的开头,通常在`&lt;html&gt;`标签之前。它的作用在于确保浏览器以正确的方式解析和渲染网页内容。 在没有...

    DOCTYPE HTML PU.docx

    在给定的文件中,我们看到了一个HTML文档的结构,其中包含了HTML5的DOCTYPE声明、元数据、样式表以及JavaScript代码。这个文档似乎是一个简单的网页,具有动态粒子效果的背景和一个固定在屏幕中央的文本元素。以下是...

    DOCTYPE.rar_page

    在这个例子中,DOCTYPE声明定义了文档是XHTML 1.0 Transitional,允许混合使用HTML和XHTML元素,并提供了向后兼容性。 压缩包内的“DOCTYPE.docx”文件,根据扩展名推测,这可能是一个Microsoft Word文档,其中包含...

    DOCTYPE html-爱心代码.docx

    标题中的“DOCTYPE html-爱心代码.docx”表明这是一个关于HTML的文档,具体是创建一个爱心图形的代码示例。描述中的“我颜色设的两个不一样,有需要的家人们可以自己去改成相同颜色的就好了”提示了代码中可能涉及两...

    DOCTYPE html.docx

    ### DOCTYPE html.docx 关键知识点解析 #### 一、文档类型声明(DOCTYPE) 文档开头出现的 `&lt;!DOCTYPE html&gt;` 是HTML5文档类型的声明。它告诉浏览器该页面使用的是哪种HTML标准,对于确保网页在不同浏览器中正确...

    HTML 版本声明 DOCTYPE 标签

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

    DOCTYPE 标签

    DOCTYPE标签在HTML和XHTML文档中扮演着至关重要的角色,它是文档类型定义(Document Type Definition)的简写,用于告诉浏览器文档遵循的HTML或XHTML规范。DOCTYPE声明位于文档的开头,即`&lt;html&gt;`标签之前,其主要...

    HTML &lt;!DOCTYPE&gt; 标签

    总结来说,DOCTYPE声明在HTML和XHTML文档中起到至关重要的作用,它定义了文档的语言版本和解析规则,确保浏览器以一致的方式渲染页面,减少了跨浏览器的兼容性问题。正确地声明DOCTYPE是构建符合标准、具有良好兼容...

    浅谈HTML的doctype和编码

    HTML5不引入DTD(文档类型定义),从而简化了doctype声明。 - 对于旧版本的HTML(例如HTML 4.01或XHTML 1.0),doctype声明会更为复杂,并且需要引入对应的DTD。例如,严格型的HTML 4.01的doctype声明为:`&lt;!...

    HTML5定义列表案例.pdf

    HTML5 定义列表案例是 HTML5 中的一种列表类型,用于显示定义列表式的内容。定义列表由 `&lt;dl&gt;` 元素定义,包含多个 `&lt;dt&gt;` 和 `&lt;dd&gt;` 元素。`&lt;dt&gt;` 元素用于定义列表的项目名称,而 `&lt;dd&gt;` 元素用于定义项目的描述。...

    Html5中文手册(程序员必备手册)

    DOCTYPE&gt; 定义文档类型。 3、&lt;a&gt; 定义超链接。 4、&lt;abbr&gt; 定义缩写。 5、&lt;address&gt; 定义地址元素。 6、&lt;area&gt; 定义图像映射中的区域。 7、&lt;article&gt; 定义外部的内容。 8、&lt;aside&gt; 定义article 以外的内容。 9、...

    简单的html页面定义

    在这个简单的HTML页面定义中,我们看到了许多关键的元素和属性,它们构成了一个基本的HTML结构。 首先,HTML文档以`&lt;!DOCTYPE html&gt;`声明开始,表明这是一个HTML5文档。接着是`&lt;html&gt;`标签,它是整个HTML文档的根...

Global site tag (gtag.js) - Google Analytics