Web学习笔记 XHTML


本文参考:W3school


XHTML 简介


  • XHTML 是更严谨更纯净的 HTML 版本
  • XHTML 是可扩展超文本标签语言(EXtensible HyperText Markup Language)
  • XHTML 是作为一种 XML 应用被重新定义的 HTML
  • XHTML 是一个 W3C 标准
  • XHTML 是 HTML 与 XML(扩展标记语言)的结合物

XHTML 引入目的


  • 万维网上的许多页面都包含着糟糕的 HTML 代码,即便没有遵循HTML 规则也能使用
  • XML 用来描述数据,而 HTML 则用来显示数据
  • XHTML将HTML 和 XML 各自的长处加以结合得以编写出拥有良好结构的文档,这些文档可以很好地工作于所有的浏览器,并且可以向后兼容。

XHTML和HTML 间的差异


主要不同

  • XHTML 元素必须被正确地嵌套

    错误嵌套

    <b><i>text</b></i>
    

    正确嵌套

    <b><i>text</i></b>
    
  • XHTML 元素必须被关闭

    非空标签必须使用结束标签

    <p>text</p>
    

    空标签必须关闭

    <p>text</p><br />
    <p>text</p><hr />
    
  • 标签名必须用小写字母

    XHTML 规范定义:标签名和属性对大小写敏感,标签一律小写

    <p>text</p><br />
    
  • XHTML 文档必须拥有根元素

    所有的 XHTML 元素必须被嵌套于 根元素中

    <html>
    <head> ... </head>
    <body> ... </body>
    </html>
    

XHTML 语法


  • 属性名称必须小写

    <table width="100%">
    
  • 属性值必须加引号

    <table width="100%">
    
  • 属性不能简写

    <input checked="checked" />
    <input readonly="readonly" />
    <input disabled="disabled" />
    <option selected="selected" />
    <frame noresize="noresize" />
    

    注意 “/” 符号前需添加一个额外的空格使XHTML与浏览器相兼容

    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”
  • 用 Id 属性代替 name 属性

    对于下列元素a, applet, frame, iframe, img, 和map应当用name属性代替id属性

    <!--HTML-->
    <img src="picture.gif" name="picture1" />
    <!--XHTML-->
    <img src="picture.gif" id="picture1" />
    
  • XHTML DTD 定义了强制使用的 HTML 元素

    XHTML文档需进行文件类型声明(DOCTYPE declaration),XHTML文档中必须存在html、head、body元素,title必须位于head中

    <!DOCTYPE Doctype goes here>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Title goes here</title>
    </head>
    <body>
    </body>
    </html>
    

    文件类型声明并非 XHTML 文档自身的组成部分,它并不是 XHTML 元素,也没有关闭标签。


XHTML DTD


XHTML 定义了三种文档类型声明:

  • STRICT(严格类型)

    适用范围:需要干净的标记,避免表现上的混乱,与层叠样式表配合使用

    <!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
  • TRANSITIONAL(过渡类型)

    适用范围:当需要利用 HTML 在表现上的特性时,并且当需要为那些不支持层叠样式表的浏览器编写 XHTML 时

    <!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
  • FRAMESET(框架类型)

    适用范围:需要使用HTML框架将浏览器窗口分割为两部分或更多框架时

    <!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    

XHTML 验证


XHTML 文档是根据文档类型声明(DTD)进行验证的。只有将正确的 DTD 添加到文件的首行,XHTML 文件才会被正确地验证

  • 严格 DTD 包含没有被反对使用的或不出现在框架结构中的元素和属性
  • 过渡 DTD 包含严格 DTD 中的一切,外加那些不赞成使用的元素和属性
  • 框架 DTD 包含过渡 DTD 中的一切,外加框架

XHTML 模块


通过使用模块化的 XHTML,产品和软件设计者可以:

  • 选择被某种设备所支持的元素。
  • 在不打破 XHTML 标准的情况下,使用 XML 对 XHTML 进行扩展。
  • 针对小型设备,对 XHTML 进行简化。
  • 通过添加新的 XML 功能(比如 MathML, SVG, 语音和多媒体),针对复杂的应用对 XHTML 进行扩展。
  • 定义 XHTML 框架,比如 XHTML BASIC (针对移动设备的 XHTML 子集)。

XHTML28种模型


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章