当前位置:首页>>软件教程>>网页制作>>新闻内容  |虚拟主机 主机托管
浅析HTML和XHTML的区别
作者: 发布时间:2007-9-19 9:56:05 | 【字体:

      HTML 和 XHTML 的区别简单来说,XHTML 可以认为是 XML 版本的 HTML,为符合 XML 要求,XHTML 语法上要求更严谨些。

  以下是 XHTML 相对 HTML 的几大区别:

  XHTML 要求正确嵌套

  XHTML 所有元素必须关闭

  XHTML 区分大小写

  XHTML 属性值要用双引号

  XHTML 用 id 属性代替 name 属性

  XHTML 特殊字符的处理

  XHTML 要求正确嵌套

  以下是正确的嵌套:


<p>网页陶吧<strong>网页学习者之家strong>。</p>


  以下是错误的嵌套:


<p>网页陶吧<strong>网页学习者之家</p></strong>。


  XHTML 所有元素必须关闭


在 HTML 中 ,比如<p>,<li> ,这些标记,你可以不写</p>,</li>,但是在 XHTML 里,必须要求写关闭标记 (Closing Tag)。

  处理空元素


有些空元素 ,在 XHTML 里的写法是在">"之前加空格和斜杠。比如<br>,应该写成<br />。


  以下 是空元素的例子:

<br /> 
<hr /> 
<img src = "/images/adpics/1/b027.jpg" alt = "cwdn" /> 
<link rel="stylesheet" href="/styles/cwdn.css" type ="text/css" /> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" / > 

  XHTML 区分大小写

  HTML 不区分大小写,但是 XHTML 是区分大小写的。

  XHTML 语法上要求更严谨些。要积极的看待这个问题。

  XHTML 的所有标记和属性都要小写。

  比如:


<IMG SRC = "/images/adpics/1/b027 .jpg" Alt = "cwdn" /> 


  应该写成:


<img src = "/images/adpics/1/b027.jpg" alt = "cwdn" /> 


  XHTML 属性值要用双引号情况就有所不同。并不强制要求属性值加双引号?

  HTML 并不强制要求属性值加双引号。比如你可以写:

<table cellspacing = 0> 
<input checked > 

  但在 XHTML 里,应该写成:

<table cellspacing = "0"> 
<input checked = "checked" />

  XHTML用id属性代替 name 属性HTM 很多元素,比如 a,applet,frame,iframe,img 和 map,有 name

  属性。在 XHTML 里是要废除的,而用 id 属性取而代之。

  比如:


<img src="cwdn.gif" name="cwdn logo" /> 


  应该写成:


<img src="cwdn.gif" id="cwdn logo" /> 


  
XHTML 特殊字符的处理& 应该在 XHTML 里应该写成 &amp;。


      比如:XHTML 的所有标记和属性都要小写。


 You & Me  应该写成:  You &amp; Me


  还有如果内嵌 Javascript 代码,在 XHTML 里则应该写成:


<script type="text/javascript">// <![CDATA[//]]></script> 


  浏览器的角度

  以上是从协议标准的角度来看待这个问题的。如果从浏览器的角度来看待这个问题,情况就有所不同。

  考虑一下,如果把 XHTML 写得很不严格,浏览器会怎么做?是不是会弹出一个对话框,写着“这个网站的开发人员技术不过关,写的不是正宗的XHTML 文件,咱不显示”?显然,如果浏览器做成这个样子,倒贴钱也是不会有人用的。

  从浏览器的角度看待上面几个不同,大致是下面的测试结果:

  XHTML 要求正确嵌套:如果你没有嵌套,浏览器会试图帮你嵌套。

  XHTML 所有元素必须关闭:如果你没有关闭,浏览器会试图帮你关闭。

  XHTML 区分大小写:你非要写成大写,浏览器帮你转换成为小写。

  属性值要用双引号:你非要不肯加,浏览器帮你加。

  特殊字符的处理:You & Me 也好,You & Me 也好 ,浏览器都能读入。

  用 id 属性代替 name 属性 :你非要用 name 也可以。

  如果 你在文档开始用 DocType 指定为 XHTML 了,有一点需要注意。在给Tag 用 class 指定CSS 的时候,是区分大小写的。例如,你定义了一个CSS如下,


<style>
.hello { ...... }
</style > 


  而你使用的时候写成


 <p class="Hello">


  如果从浏览器的角度来看待这个问题 。 来自那这个CSS是不会被使用的。要积极的看待这个问题,这让你可以用更多的名字来命名 Style,是一个好事。

  XHTML 标准的前途从标准制定者的初衷看,制定 XHTML 标准是试图把 HTML 规范成为严格的XML 格式,这样无可避免的会导致一个结果,就是从 HTML 到 XHTML 的升级导致标准的容错能力降低了。把自己的网页源文件写得严格一点当然是好事,但是一个标准不可能去要求浏览器降低自己的容错能力。

  XHTML 1 .0 标准是兼容 HTML 4.01,是个不错的协议,可以让开发者在编写代码的同时通过一些工具来检查代码的合法性,虽然对于用户而言,制作出来的网页和 HTML 4.01 相比实在没有什么不同。对于你写新的网页来说,使用 XHTML 1.0 还是一个不错的选择。

  XHTML 1.1 标准要求浏览器不再支持原先的容错能力,这是一个标准制定者走火入魔的典型例子,这个标准从学术上说非常纯净,但是对于浏览器而言,则是个呆板、笨拙、不可理喻的标准。所以目前所有由人类开发的浏览器都没有遵照所谓纯净的 XHTML 1.1的标准,你的代码只要浏览器能读懂,他都会很好的显示出来,而不跳出弹框报错。

  从发展的趋势来看,一个标准没有浏览器服从,等于是没有意义的标准。从浏览器的实现角度来看,新的协议只能在原来 HTML 的基础上扩大能力增加容错 ,而不能缩小了能力减少容错。所以新的协议中,只有扩大能力增加容错的部分会被采纳,而其他部分都仅仅是纸上谈兵而已。


文章来源:yesky
·制作网站网页的四十个建议和技巧
·什么是无障碍网页设计?规范和检测要点
·用图片实现超级链接的个性化下划线
·maquee无缝滚动向上向下向左向右的代码
·符合标准的正常工作的一种对联广告
·网页浏览速度提高可行的七法
·网页设计配色精彩十例
·用ASP+CSS实现网页随机背景
·网页设计配色应用教程之色彩的调和
 放生
 愚爱
 够爱
 触电
 白狐
 葬爱
 光荣
 画心
 火花
 稻香
 小酒窝
 下雨天
 右手边
 安静了
 魔杰座
 你不像她
 边做边爱
 擦肩而过
 我的答铃
 怀念过去
 等一分钟
 放手去爱
 冰河时代
 你的承诺
 自由飞翔
 原谅我一次
 吻的太逼真
 左眼皮跳跳
 做你的爱人
 一定要爱你
 飞向别人的床
 爱上别人的人
 感动天感动地
 心在跳情在烧
 玫瑰花的葬礼
 有没有人告诉你
 即使知道要见面
 爱上你是一个错
 最后一次的温柔
 爱上你是我的错
 怎么会狠心伤害我
 不是因为寂寞才想
 亲爱的那不是爱情
 难道爱一个人有错
 寂寞的时候说爱我