1造成背景
可扩展
超文本标记语言。HTML是一种基本的WEB
网页设计语言,XHTML是一个基于
可扩展标记语言的
标记语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着相似HTML的角色的
可扩展标记语言(XML),因此,本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。
2000年末,国际
W3C组织(
万维网联盟)组织公布发行了XHTML 1.0版本。XHTML 1.0是一种在HTML 4.0基础上优化和改进的的新语言,目的是基于
XML应用。XHTML是一种加强了的HTML,XHTML 是更严谨更纯净的 HTML 版本。它的可扩展性和灵活性将适应将来网络应用更多的需求。XML虽然
数据转换能 力强大,彻底能够替代HTML,但面对成千上万已有的基于HTML语言设计的网站,直接采用XML还为时过早。所以,在HTML4.0的基础上,用XML 的规则对其进行扩展,获得了XHTML。因此,创建XHTML的目的就是实现HTML向XML的过渡。国际上在网站设计中推崇的
WEB标准就是基于XHTML的应用(即一般所说的
CSS+DIV)。
概述
XHTML是当前HTML版的继承者。HTML
语法要求比较松散,这样对
网页编写者来讲,比较方便,但对于机器来讲,语言的
语法越松散,处理起来就越困难,对于传统的计算机来讲,还有能力兼容松散语法,但对于许多其余设备,
好比手机,难度就比较大。所以产生了由
DTD定义规则,
语法要求更加严格的XHTML。
大部分常见的
浏览器均可以正确地解析XHTML,即便老一点的浏览器,XHTML做为HTML的一个子集,许多也能够解析。也就是说,几乎全部的
网页浏览器在正确解析HTML的同时,可兼容XHTML。固然,从
HTML彻底转移到XHTML,还须要一个过程。
跟层叠式样式表(外语缩写:
CSS)结合后,XHTML能发挥真正的威力;这使实现样式跟内容的分离的同时,又能有机地组合
网页代码,在另外的单独文件中,还能够混合各类XML应用,
好比
MathML、
SVG。
从
HTML到XHTML过渡的变化比较小,主要是为了适应
XML。最大的变化在于文档必须是良构的,全部
标签必须闭合,也就是说开始
标签要有相应的结束
标签。另外,XHTML中全部的
标签必须小写。而按照HTML 2.0以来的传统,不少人都是将
标签大写,这点二者的差别显著。在XHTML中,全部的
参数值,包括
数字,必须用双引号括起来(而在
SGML和HTML中,引号不是必须的,当内容只是数字、字母及其它容许的特殊字符时,能够不用引号)。全部元素,包括空元素,
好比img、br等,也都必须闭合,实现的方式是在开始
标签末尾加入斜扛,
好比<code><nowiki><img … /></nowiki></code> 、<code><nowiki>
</nowiki></code>。省略参数,比 如<code><nowiki><option selected></nowiki></code>,也不容许,必须 用<code><nowiki><option selected="selected"/></nowiki></code>。二者的详细差异,可经过W3C XHTML说明]来查阅。
定义
XHTML 的目标是取代 HTML。
XHTML 与 HTML 4.01 几乎是相同的。
XHTML 是更严格更纯净的 HTML 版本。
XHTML 是做为一种 XML 应用被从新定义的 HTML。
W3C 标准
* XHTML是EXtensible HyperText Markup Language的英文缩写,便可扩展的
超文本标记语言.
* XHTML是用来代替HTML的, 是2000年
w3c公布发行的.
* XHTML是一种加强了的HTML,它的可扩展性和灵活性将适应将来网络应用更多的需求.
* XHTML是基于XML的应用.
* XHTML更简洁更严谨.
* XHTML也能够说就是HTML一个升级版本.(
w3c描述它为'HTML 4.01')
* 除此以外XHTML和HTML基本相同.
2有效文件
一个符合XHTML标准的文件便可称为有效. 此能够确保XHTML文件代码的协调, 亦能令文件的更容易被处理, 而不需确保各类浏览器
编译的一致性。而W3C验证服务则能够验证文件是否有效。而实际上, 不少网站开发工具(例如Dreamweaver)都支援以W3C标准验证文件。
语法
Attribute names must be in lower case
属性名称必须为小写
This is wrong:
这是错误的:
<table WIDTH="100%">
This is correct:
这是正确的:
<table width="100%">
Attribute values must be quoted
属性值使用双引号
This is wrong:
这是错误的:
<table width=100%>
This is correct:
这是正确的:
<table width="100%">
Attribute minimization is forbidden
属性简写是不容许的
This is wrong:
这是错误的:
<input checked> <input readonly> <input disabled> <option selected> <frame noresize>
This is correct:
正确的是这样:
<input checked="checked" /> <input readonly="readonly" /> <input disabled="disabled" /> <option selected="selected" /> <frame noresize="noresize" />
The id attribute replaces the name attribute
用id属性来替代name属性
This is wrong:
这是错误的:
<img src="picture.gif" name="picture1" />
This is correct:
这是正确的:
<img src="picture.gif" id="picture1" />
注意:为了版本比较低的浏览器,你应该同时使用name和id属性,并使它们两个的值相同的,像这样:
<img src="picture.gif" id="picture1" name="picture1" />
这是在HTML中简写的属性和其在XHTML中应该怎样书写的列表:
HTML XHTML
compact compact="compact"
checked checked="checked"
declare declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize"
与HTML对比
1.全部的标记都必需要有一个相应的结束标记
之前在HTML中,你能够打开许多
标签,例如和<li>而不必定写对应的和</li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,全部
标签必须关闭。若是是单独不成对的
标签,在标签最后加一个"/"来关闭它。例如:
<img height="80" alt="网页设计师" src="../images/logo_
w3cn_200x80.gif" width="200" />
2.全部
标签的元素和属性的名字都必须使用小写
与HTML不同,XHTML对大小写是敏感的,<title>和<TITLE>是不一样的
标签。XHTML要求全部的
标签和属性的名字都必须使用小写。例如:<BODY>必须写成<body> 。大小写夹杂也是不被承认的,一般dreamweaver自动生成的属性名字"onMouseOver"也必须修改为"onmouseover"。
3.全部的XML标记都必须合理
嵌套
一样由于XHTML要求有严谨的结构,所以全部的嵌套都必须按顺序,之前咱们这样写的代码:
<p><b></p></b>
必须修改成:<p><b></b></p>
就是说,一层一层的嵌套必须是严格对称。
4.全部的属性必须用引号""括起来
在HTML中,你能够不须要给属性值加引号,可是在XHTML中,它们必须被加引号。例如:
<height=80>
必须修改成:
<height="80">
特殊状况,你须要在属性值里使用双引号,你能够用",单引号可使用',例如:
<alt="say'hello'">
5.把全部<和&特殊符号用编码表示
任何小于号(<),不是
标签的一部分,都必须被编码为& l t ;
任何大于号(>),不是
标签的一部分,都必须被编码为& g t ;
任何与号(&),不是实体的一部分的,都必须被编码为& a m p;
注:以上字符之间无空格。
6.给全部
属性赋一个值
XHTML规定全部属性都必须有一个值,没有值的就重复自己。例如:
<input type="checkbox" name="shirt" value="medium" checked>
必须修改成:
<input type="checkbox" name="shirt" value="medium" checked="checked">
7.不要在注释内容中使“--”
“--”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们再也不有效。例以下面的代码是无效的:
<!--这里是注释-----------这里是注释-->
用等号或者空格替换内部的虚线。
<!--这里是注释============这里是注释-->
以上这些规范有的看上去比较奇怪,但这一切都是为了使咱们的代码有一个统1、惟一的标准,便于之后的数据再利用。
8.图片必须有说明文字
每一个图片
标签都必须有ALT说明文字。
<img src="ball.jpg" alt="large red ball" title="large red ball"/> //为了兼容
火狐和IE浏览器,对于图片
标签,尽可能采用 alt和title双标签,单纯的alt标签在火狐下没有图片说明!
3现行规范
1. XHTML 1.0 Transitional - 过渡型,标识
语法要求较宽松
<
!DOCTYPE
htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.<CITE class=highlight highlight="true"> </CITE>/TR/xhtml1/DTD/xhtml1-transitional.dtd">
要求很是宽松的DTD,它容许你继续使用HTML4.01的标识(可是要符合x
html的写法)。
2. XHTML 1.0 Strict - 严格型,标识要求达到以上XHTML相比于HTML的全部改动
<!DOCTYPE
htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www./TR/xhtml1/DTD/xhtml1-strict.dtd">
要求严格的
DTD,你不能使用任何表现层的标识和属性,例如
。
3. XHTML 1.0 Frameset -
框架集定义
<!DOCTYPE
htmlPUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.<CITE class=highlight highlight="true"></CITE>/TR/xhtml1/DTD/xhtml1-frameset.dtd">
专门针对
框架页面设计使用的DTD,若是你的页面中包含有框架,须要采用这种DTD
4. XHTML 1.1 - 模块化的XHTML
5. XHTML 2.0 - 彻底模块化可定制化的XHTML,正在开发中,参考http://<CITE class="highlight" highlight="true"></CITE>/
4W3C释义
W3C是英文 World Wide Web Consortium 的缩写,中文意思是W3C理事会或
万维网联盟。W3C于1994年10月在
麻省理工学院计算机科学实验室成立。建立者是万维网的发明者
Tim Berners-Lee。
W3C组织是对网络标准制定的一个非赢利组织,像HTML、XHTML、CSS、XML的标准就是由W3C来定制。W3C会员(大约500名会员)包括生产技术产品及服务的厂商、内容供应商、团体用户、研究实验室、标准制定机构和政府部门,一块儿
协同工做,致力在万维网发展方向上达成共识。