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種模型


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