HTML 和 XHTML 的区别简单来说,XHTML 可以认为是 XML 版本的 HTML,为符合 XML 要求,XHTML 语法上要求更严谨些。
以下是 XHTML 相对 HTML 的几大区别:
XHTML 要求正确嵌套
XHTML 所有元素必须关闭
XHTML 区分大小写
XHTML 属性值要用双引号
XHTML 用 id 属性代替 name 属性
XHTML 特殊字符的处理
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/htmlcharset=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 里应该写成 &。 比如:XHTML 的所有标记和属性都要小写。 You &Me 应该写成: You &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 的基础上扩大能力增加容错 ,而不能缩小了能力减少容错。所以新的协议中,只有扩大能力增加容错的部分会被采纳,而其他部分都仅仅是纸上谈兵而已。基本的WEB网页设计语言,XHTML是一个基于XML的置标语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的XML,所以,本质上说,XHTML是一个过渡技术,结合了XML(有几分)的强大功能及HTML(大多数)的简单特性。2000年底,国际W3C(World Wide Web Consortium)组织公布发行了XHTML 1.0版本。XHTML 1.0是一种在HTML 4.0基础上优化和改进的的新语言,目的是基于XML应用。XHTML是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求。下面是W3C的HTML工作组主席Steven Pemberton回答的关于XHTML的常见基础问题。
问:什么是XHTML?
答:XHTML是一种为适应XML而重新改造的HTML。当XML越来越成为一种趋势,就出现了这样一个问题:如果我们有了XML,我们是否依然需要HTML?为了回答这个问题,1998年5月我们在旧金山开了两天的工作会议,会议的结论是:需要。我们依然需要使用HTML。因为大量的人们已经习惯使用HTML来作为他们的设计语言,而且,已经有数以百万计的页面是采用HTML编写的。
问:为什么XHTML 1.0相对HTML 4.0独立发展?
答:并不是这样。XHTML恰恰就是HTML 4.0的重新组织,(确切的说它是HTML 4.01,是一个修正版本的HTML 4.0,只不过以XHTML 1.0命名发行。) 它们在XML里的解释会有一些必要的差别,但另一方面,它们依然非常相似,我们可以把XHTML的工作看作是HTML 4.0基础上的延续。
问:XHTML 1.0如何实现XML标准?
答:XHTML就是一种XML应用。它采用XML的DTD文件格式定义,并运行在支持XML的系统上。这里要感谢XML的Namespaces功能,浏览器制造商不需要再创造新的私有标签(tags),他们只需要在XHTML代码里包含XML代码片段,或者XML代码里包含XHTML代码片段。
2、与HTML相比XHTML有什么特点?
(1)XHTML解决HTML语言所存在的严重制约其发展的问题。HTML发展到今天存在三个主要缺点:不能适应现在越多的网络设备和应用的需要,比如手机、PDA、信息家电都不能直接显示HTML由于HTML代码不规范、臃肿,浏览器需要足够智能和庞大才能够正确显示HTML数据与表现混杂,这样你的页面要改变显示,就必须重新制作HTML。因此HTML需要发展才能解决这个问题,于是W3C又制定了XHTML,XHTML是HTML向XML过度的一个桥梁。
(2)XML是web发展的趋势,所以人们急切的希望加入XML的潮流中。XHTML是当前替代HTML4标记语言的标准,使用XHTML 1.0,只要你小心遵守一些简单规则,就可以设计出既适合XML系统,又适合当前大部分HTML浏览器的页面。这个意思就是说,你可以立刻设计使用XML,而不需要等到人们都使用支持XML的浏览器。这个指导方针可以使web平滑的过渡到XML。
(3)使用XHTML的另一个优势是:它非常严密。当前网络上的HTML的糟糕情况让人震惊,早期的浏览器接受私有的HTML标签,所以人们在页面设计完毕后必须使用各种浏览器来检测页面,看是否兼容,往往会有许多莫名其妙的差异,人们不得不修改设计以便适应不同的浏览器。
(4)XHTML是能与其它基于XML的标记语言、应用程序及协议进行良好的交互工作。。
(5)XHTML是Web标准家族的一部分,能很好在无线设备等其它用户代理上。
(6)在网站设计方面,XHTML可助你去掉表现层代码的恶习,帮助你养成标记校验来测试页面工作的习惯。