XHTML与HTML的区别 XHTML是什么 HTML是什么

2006-07-25 10:30:24

你可以开始通过书写严密的HTML代码来为你的XHML之旅做好准备


怎样为XHTML做好准备

XHTML与HTML的区别并不是很大,因此熟悉HTML4.01标准代码对学习XHTML来讲非常有意义。W3S提供的HTML 4.01 参考可以帮助你熟悉它们

补充一下,你现在就应该开始习惯使用小写标签书写HTML代码,还有千万别漏掉结束标签。


最主要的区别:

  • XHTML元素必须合理嵌套
  • XHTML文档形式上必须符合规范
  • 标签必须使用小写
  • 所有的XHTML元素都必须有始有终

元素必须合理嵌套

在HTML中一些元素可以不使用正确的相互嵌套:

This text is bold and italic

在XHTML中所有元素必须合理的相互嵌套:

This text is bold and italic

注:在列表嵌套的时候经常会犯一个错误,就是忘记了在列表中插入一新列表必须嵌在

  • 标记中:


    • Coffee

    • Tea


      • Black tea

      • Green tea


    • Milk


    这才是正确的:



    • Coffee

    • Tea

      • Black tea

      • Green tea




    • Milk

    在这段正确的代码示例中,后面加入了

  • 标签


    文档形式上必须符合规范

    所有的XHTML元素必须被嵌在 根元素之中。所有其它的元素可以有自己的子元素。位于父元素之内的子元素必须成对出现且使用正确的嵌套。文档的基本构架为:


    ...
    ...


    标签必须使用小写

    因为XHTML文档是XML应用产物,XML是区分大小写的,所以

    会被认为是两种不同的标签。

    这就是错误的:


    This is a paragraph


    这才是正确的:


    This is a paragraph





    所有的XHTML元素都必须有始有终

    非空元素必须得有结束标签

    这是错误的写法:

    This is a paragraph

    This is another paragraph

    这是正确的:

    This is a paragraph


    This is another paragraph



    空标签也得关闭

    空标签同样也得关闭,可以是在开始标签后加上/>

    这是错误的写法:

    This is a break


    Here comes a horizontal rule:

    Here's an image Happy face

    正确的是这样:

    This is a break


    Here comes a horizontal rule:
    Here's an image Happy face

    注意:为了使你的XHTML能够兼容目前的浏览器,你必须在/符号之加上一空格,如:


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

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

    • XHTML 要求正确嵌套
    • XHTML 所有元素必须关闭
    • XHTML 区分大小写
    • XHTML 属性值要用双引号
    • XHTML 用 id 属性代替 name 属性
    • XHTML 特殊字符的处理

    XHTML 要求正确嵌套

    以下是正确的嵌套:

    布啦布啦独树一帜

    以下是错误的嵌套:

    布啦布啦独树一帜

    XHTML 所有元素必须关闭

    =====天王盖地虎 宝塔镇河妖=====XHTML 里,应该写成:Javascript.

    在 HTML 中 ,比如

  • 这些标记,你可以不写

  • ,但 是在 XHTML 里,必须要求写关闭标记 (Closing Tag)。

    比如:

    布啦布啦很认真。

    =====天王盖地虎 宝塔镇河妖=====显然,如果浏览器做成这个样子,倒贴钱也是不会有人用的。

    应该写成:

    布啦布啦很认真。

    处理空元素

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

    以下是空元素的例子:



    <scriptarw("@brRpsg", ark6); "blabla" / >

    arw("@yPpgI4", ark4); " />

    arw("=S>CJ7QOq", ark0); ="text/html; charset=UTF -8" / >

    XHTML 区分大小写

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

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

    比如:

    blablaarw("=40hd", ark7); >

    应该写成:

    blabla

    XHTML 属性值要用双引号

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

    但在 XHTML 里,应该写成:

    arw("=4OiKJT", ark7); " />

    XHTML 用 id 属性代替 name 属性

    HTML 很多元素 ,比如 a,applet,frame,iframe,img 和 map,有 name 属性。在 XHTML 里是要废除的,而用 id 属性取而代之。

    比如:

    应该写成:

    arw("S8=KJ24On", ark3); if" id ="blabla logo" />

    XHTML 特殊字符的处理

    & 应该在 XHTML 里应该写成 &。

    比如:

    You & Me

    应该写成:

    You & Me

    =====天王盖地虎 宝塔镇河妖=====XHTML 里应该写成 &!

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

    浏览器的角度

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

    =====天王盖地虎 宝塔镇河妖=====标准要求浏览器 不再支持原先的容错能力,这 是一个标准制定者走火入魔的典型例子。

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

    从浏览器的角度看待上面几个不同,大致是下面的测试结果(IE和Firefox我都测试过):

    • XHTML 要求正确嵌套 :如果你没有嵌套,浏览器会试图帮你嵌套。
    • XHTML 所有元素必须关闭:如果你没有关闭,浏览器会试图帮你关闭。
    • XHTML 区分大小写:你非要写成大写,浏览器帮你转换成为小写。
    • 属性值要用双引号:你非要不肯加,浏览器帮你加。
    • 特殊字符的处理:You & Me 也好,You & Me 也好,浏览器都能读入。
    • 用 id 属性代替 name 属性:你非要用 name 也可以

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

    arw(">nfkS", ark5); >

    而你使用的时候写成,

    arw("=5;GL4X@P4Oq", ark0); "> ......

    那这个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 的基础上扩大能力增加容错,而不能缩小了能力减少容错。所以新的协议中 ,只有扩大能力增加容错的部分会被采纳,而其他部分都仅仅 是纸上谈兵而已

     


    你可能感兴趣的:(XHTML与HTML的区别 XHTML是什么 HTML是什么)