网页制作 
首页 > 网页制作 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/9 浏览:3 次 )
文档类型声明
在你每一个页面的顶端,你需要文档声明。是的,必须。

如果不指定文档类型,你的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">

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

语言声明
即使HTTP头或者在html起始标签内设置了xml:lang属性,你也必须为文档指定一个主要语言。尽管处理一个合法的XHTML文档这不是必须的,但也是一个易用性的考虑。值是缩写的,比如en(English,英语),fr(French,法语),de(German,德语)。

声明一个主要用英语内容的文档,例子是这样的:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

在声明主要语言之后,假如还需要使用其他语言,你还可以在内联中使用xml:lang属性(比如<span xml:lang="de">HTML Hund</span>)。

内容类型
HTML文档的媒体类型和字体集也许要指定,可以使用HTTP头来完成,比如:
Content-Type: text/html; charset=UTF-8

HTTP头部的第一部分(如text/html)是文件MIME类型,让浏览器知道文件的媒体类型因此可以知道怎么处理。所有的文件都有MIME类型。JPEG图像是image/jpeg,CSS文件是text/csss和HTML一般使用text/html。

HTTP头部的第二部分(如UTF-8部分)是字符集。

也许设置HTTP头的最简易方法是在HTML中使用“HTTP同义(HTTP-equivalent)”的头标签,像这样:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
下面是常用的文档声明,其实dreamweaver默认就是这种声明。

复制代码代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
</body>
</html>

下面是的补充内容。
css声明与不声明会导致页面的控制不一样。更不会符合w3c标准什么的。所以建议大家都要加上。这样才能让多浏览器兼容您的网站。
javascript的影响,会更大,导致以前写的js代码,不能正常的运行。尤其像对联广告之类的。其实一般情况注意下面这个问题,就好了
不声明的时候 一般用 document.body.scrollTop;
声明文档类型的时候用document.documentElement.scrollTop;
下面是一些参考文档
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
javascript firefox兼容ie的dom方法脚本
这方便的东西太多了,大家可以多搜索一下吧。
上一篇:纯HTML标签你熟悉多少?
下一篇:HTML Marquee 字符片段滚动
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。