xhtml 与 html 的区别

xhtml 的头

 


 

 

html的头

"http://www.w3.org/TR/html4/loose.dtd">

 

看到区别了吧

 

 

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

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

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

XHTML 要求正确嵌套

以下是正确的嵌套:

布啦布啦独树一帜

以下是错误的嵌套:

布啦布啦独树一帜

XHTML 所有元素必须关闭

在 HTML 中,比如

  • 这些标记,你可以不写

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

    比如:

    布啦布啦很认真。

    应该写成:

    布啦布啦很认真。

    处理空元素

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

    以下是空元素的例子:



    blabla

    XHTML 区分大小写

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

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

    比如:

    blabla

    应该写成:

    blabla

    XHTML 属性值要用双引号

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

    但在 XHTML 里,应该写成:

    XHTML 用 id 属性代替 name 属性

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

    比如:

    应该写成:

    XHTML 特殊字符的处理

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

    比如:

    You & Me

    应该写成:

    You & Me

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

    浏览器的角度

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

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

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

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

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

    而你使用的时候写成,

    ......

    那这个CSS是不会被使用的。要积极的看待这个问题,这让你可以用更多的名字来命名 Style,是一个好事。

     

     

    你可能感兴趣的:(xhtml 与 html 的区别)