最新的Web開發教程

HTML和XHTML


XHTML是HTML寫為XML。


什麼是XHTML?

  • XHTML代表可擴展超文本標記語言
  • XHTML幾乎是相同的HTML
  • XHTML比HTML更嚴格
  • XHTML是HTML定義為XML應用
  • XHTML是由所有主要的瀏覽器都支持

為什麼XHTML?

互聯網上的許多頁面包含"bad" HTML。

這個HTML代碼在大多數瀏覽器罰款(even if it does not follow the HTML rules)

<html>
<head>
  <title>This is bad HTML</title>

<body>
  <h1>Bad HTML
  <p>This is a paragraph
</body>

今天的市場是由不同的瀏覽器技術。 有些瀏覽器的計算機上運行,一些瀏覽器在手機或其他小型設備上運行。 更小的設備往往缺乏資源或解釋權"bad"的標記。

XML是其中的文件必須註明正確的標記語言(be "well-formed")

如果你想學習XML,請閱讀我們的XML教程

通過結合HTML和XML的優勢,XHTML的開發。

XHTML是HTML重新設計的XML。


從HTML最重要的差異:

文檔結構

  • XHTML DOCTYPE是強制性
  • 所述xmlns在屬性<html>強制性的
  • <html> <head> <title> ,和<body>強制性

XHTML元素

  • XHTML元素必須被properly nested
  • XHTML元素必須被closed
  • XHTML元素必須lowercase
  • XHTML文檔必須有one root element

XHTML屬性

  • 屬性名稱必須為lower case
  • 屬性值必須用quoted
  • 屬性最小化forbidden

<!DOCTYPE ....>是必需的

XHTML文檔必須有一個XHTML DOCTYPE聲明。

所有的完整列表XHTML文檔類型在我們的HTML標籤參考中找到。

<html> <head> <title><body>元素也必須存在,並且xmlns在屬性<html>必須指定文檔的XML命名空間。

此示例示出了具有最小所需標籤的XHTML文檔:

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

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Title of document</title>
</head>

<body>
  some content
</body>

</html>

XHTML元素必須正確嵌套

在HTML中,一些元件可被不正確地相互嵌套,如下所示:

<b><i>This text is bold and italic</b></i>

在XHTML中,所有的元素必須正確的相互嵌套,就像這樣:

<b><i>This text is bold and italic</i></b>

XHTML元素必須始終關閉

這是錯誤的:

<p>This is a paragraph
<p>This is another paragraph

這是對的:

<p>This is a paragraph</p>
<p>This is another paragraph</p>

空元素也必須關閉

這是錯誤的:

A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">

這是對的:

A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />

XHTML元素必須小寫

這是錯誤的:

<BODY>
<P>This is a paragraph</P>
</BODY>

這是對的:

<BODY>
<P>This is a paragraph</P>
</BODY>

XHTML屬性名必須小寫

這是錯誤的:

<table WIDTH="100%">

這是對的:

<table WIDTH="100%">

屬性值必須加引號

這是錯誤的:

<table width=100%>

這是對的:

<table WIDTH="100%">

屬性簡寫是不允許的

錯誤:

<input type="checkbox" name="vehicle" value="car" checked />

正確:

<input type="checkbox" name="vehicle" value="car" checked="checked" />

錯誤:

<input type="text" name="lastname" disabled />

正確:

<input type="text" name="lastname" disabled="disabled" />

如何轉換HTML到XHTML

  1. 一個XHTML加入<!DOCTYPE>到每一頁的第一行
  2. 一個添加xmlns屬性為每個頁面的html元素
  3. 將所有元素名稱為小寫
  4. 關閉所有空元素
  5. 將所有的屬性名稱為小寫
  6. 引用所有屬性值

驗證XHTML與W3C驗證

把你的網址在下面的框中: