文章目錄
- 前言
- 一、XHTML 語法規則
- 二、XHTML、HTML 文檔類型說明
- 三、XHTML 文檔類型
- 3.1、XHTML 1.0 過渡類型(Transitional)
- 3.2、XHTML 1.0 嚴格類型(Strict)
- 3.3、XHTML 1.0 框架類型(Frameset)
- 3.4、XHTML 1.1
- 四、HTML 文檔類型
- 4.1、HTML 4.01 Strict
- 4.2、HTML 4.01 Transitional
- 4.3、HTML 4.01 Frameset
- 4.4、HTML 5
- 總結
前言
可擴展超文本標記語言(英語:eXtensible HyperText Markup Language,XHTML),是一種標記語言,表現方式與超文本標記語言(HTML)類似,不過語法上更加嚴格。從繼承關系上講,HTML 是一種基于標準通用標記語言(SGML)的應用,是一種非常靈活的置標語言,而 XHTML 則基于可擴展標記語言(XML),XML 是 SGML 的一個子集。XHTML 1.0 在 2000 年 1 月 26 日成為 W3C 的推薦標準。通過本文我們將進一步了解 XHTML 語法規則及 HTML/XHTML(XHTML 1.0/XHTML 1.1 和 HTML 4.01/HTML 5) 文檔類型說明的發展歷史。我們都知道 XHTML 是 HTML 向 XML 發展的一種過渡技術,它是使用 XML 的規則對 HTML 4.0 進行的擴展。
一、XHTML 語法規則
標準的 XHTML 遵循嚴格的 XML 語法規則。這些規則主要如下:
- 文檔之首必須使用 DOCTYPE 聲明。
- 文檔的根元素必須是 html,并且必須為其指定命名空間,例如:
<html xmls="http://www.w3.org/1999/xhtml">
- 元素必須正確嵌套。即當有標記嵌套使用時,必須先結束里層的標記,再結束外層的標記,例如:
<b>標記嵌套<font color="red">錯誤!</b></font>
<b>標記嵌套<font color="red">正確!</font></b>
- 標記必須成對使用。每個元素都必須有結束標記,除非在 DTD 中將其聲明為 EMPTY。對于單標記,必須在開始標記的右尖括號前加一反斜線,如
<br/>
。 - 標記名和屬性名必須小寫。
- 屬性值必須用引號括起來,并且引號必須在英文狀態下輸入。
- 每個屬性都必須有屬性值。HTML 標記的屬性可以沒有值,而 XHTML 規定所有屬性都必須有一個確定的值,沒有值得以屬性名作為屬性值,例如:
<input type="checkbox" name="shirt" value="short" checked="checked">
- 使用 id 作為標記的標識屬性。
<script
>和<style>
標記必須設置 type 屬性。
二、XHTML、HTML 文檔類型說明
規范的 HTML/XHTML 文檔需要以<!DOCTYPE>
標記開始。DOCTYPE 是 document type 的簡寫,主要用來說明所使用的 XHTML 或者 HTML 是什么版本,以及按什么規范來解析網頁。
解析規范由 DOCTYPE 定義的 dtd(文檔類型定義)所指定,dtd 規定了使用通用標記語言的網頁語法。
三、XHTML 文檔類型
XHTML 1.0 提供了以下 3 種類型的 DOCTYPE。
3.1、XHTML 1.0 過渡類型(Transitional)
該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。
基本格式如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3.2、XHTML 1.0 嚴格類型(Strict)
該 DTD 包含所有 HTML 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。
基本格式如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3.3、XHTML 1.0 框架類型(Frameset)
該 DTD 等同于 XHTML 1.0 Transitional,但允許框架集內容。
基本格式如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
3.4、XHTML 1.1
該 DTD 等同于 XHTML 1.0 Strict,但允許添加模型(例如提供對東亞語系的 ruby 支持)。
基本格式如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
四、HTML 文檔類型
4.1、HTML 4.01 Strict
該 DTD 包含所有 HTML 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。
基本格式如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4.2、HTML 4.01 Transitional
該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。
基本格式如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
4.3、HTML 4.01 Frameset
該 DTD 等同于 HTML 4.01 Transitional,但允許框架集內容。
基本格式如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
4.4、HTML 5
基本格式如下:
<!DOCTYPE html>
總結
本文簡單總結了 XHTML 語法規則以及 HTML/XHTML 文檔類型說明。現在 HTML 5 基本普及,也給我們程序員帶來很多便捷,我們無須再去記一堆約束信息。雖然大多時候都是 IDE 生成的,我們也需要對這個發展歷史做一個簡單的了解。我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!