html头文件

html/htm头文件的区别/注释

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

2。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >html

这是今天遇到的一个问题,想了找了半天才弄明白怎么回事,今天作一个页面,我内嵌了一个IFRAM-menu.htm,我在这个文件里套CSS,想改变滚动条,死活套不进去,郁闷了半天,终于知道问题所在,在页面的头文件中有二行,我把第二行去掉,CSS的样式就能够套进去了。晚上有时间再详解。如今要继续工做了。浏览器

  在你每个页面的顶端,你须要文档声明。是的,必须。安全

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

  XHTML 1.0 Strict(严格)的文档声明是这样的:app

<!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(过渡型):ui

<!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标签必须大写和前置一个英文半角感叹号!。它是惟一一个打破规则的标签,它不须要关闭。

  语言声明

  即便HTTP头或者在html起始标签内设置了xml:lang属性,你也必须为文档指定一个主要语言。尽管处理一个合法的XHTML文档这不是必须的,但也是一个易用性的考虑。值是缩写的,好比en(English,英语),fr(French,法语),de(German,德语)或者mg(Malagasy,这是什么语?译者也不知道,呵呵。——译者注)。

  声明一个主要用英语内容的文档,例子是这样的:

<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" />

  些微复杂当更好的方法是使用服务器端脚本语言来发送头。用PHP的话,你能够这样作:

<? header("Content-Type: text/html; charset= UTF-8"); ?>

  若是你不肯意(或不能)使用服务器端脚本语言,你也许能够直接给服务器设置一个“.htaccess”文件。大部分服务器(Apache兼容)能够在根目录使用一个“.htaccess”的小文本文件,写入下面的内容,你就能够把全部的“html”后缀文件都与MIME类型和字符集关联:

AddType text/html;charset=UTF-8 html

  字符集包括大部分西方基于拉丁文语言的“ISO-8859-1”,日语的“SHIFT_JIS”,中文的“GB18030”和UTF-8,一个 Unicode Transformation Format版本,提供大范围的多种语言的单个字符。基本上,你应该使用一个你知道的,能为你用户清楚认知的字符集。除非你使用基于拉丁语的语言(包括英语)(ISO-8859-1被广泛接受的),你应该使用UTF-8由于它能够显示大多数语言的大多数字符,使用它也是安全的,由于它能够在大部的计算机上使用。

  注意

  XHTML应该看成application/xhtml+xml的MIME类型来使用,再清楚不过,这是XML程序。不幸的是,大部分浏览器没有对这没有第一线索。因此,通常认为使用text/html的MIME类型是不错的。根据W3C的建议和网页标准工程的将来亮点,调味的XHTML 1.0也许能够做text/html使用,但XHTML 1.1不该该,这就是这个网站以XHTML 1.0 Strict(严格)做为例子,假定text/html的MIME类型。可是你仍然能够(或许不该该)为它们设置正确的MIME类型给浏览器,轻微的调用一下服务器端便可。

  这个网站使用PHP为XHTML 1.1设置application/xhtml+xml的MIME类型给那些可以理解和处理这个类型的浏览器(如Mozilla),为XHTML 1.0 Strict设置text/html给其余浏览器(如IE)。为每个页面的顶部加入以下代码:

<? if(stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml")){ header("Content-Type: application/xhtml+xml; charset=UTF-8"); echo('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "); } else { header("Content-Type: text/html; charset=UTF-8"); echo ('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "); } ?>

  这些检查核实浏览器是否接受application/xhtml+xml的MIME类型,若是接受,就发送这个MIME类型并把XHTML 1.1文类类型写到HTML中。若是这个MIME类型不被接受,就发送text/html的MIME类型并把XHTML 1.0 Strict(严格)的文档类型写入HTML。

  除了你知道你正在作着正确的事情和为本身准备未来的路的平和想法外,最直接的益处就是,使用这个方法,Mozilla浏览器把你的文件看成XML程序对待而且若是你的XHTML尚未抓痒,就是说不合式的,Mozilla就不会工做。而后你就能够排错了,而不须要用校验器来运行你的文档了。