1. XHTML —— Extensible Hyper Text Markup Language (可擴展超文本標記語言),是HTML升級爲XML的過渡產品,XHTML將XML語法和所有HTML4.01的元素結合起來(XML是一種標記語言,用來描述數據,而HTML用來顯示數據)
2. XHTML與HTML的主要區別:
① XHTML文檔形式必須符合規範
② 標籤必須使用小寫
③ 標籤必須合理嵌套
如<b><i>This text is bold</b></i>
該形式在HTML中可以使用,但在XHTML必須合理嵌套:
<b><i>This text is bold</i></b>
④ 所有XHTML標籤必須合理關閉
空標籤在XHTML中也需要合理關閉,常見空標籤有<br>、<col>、<frame>、<hr>、<img>、<input>、<isindex>、<link>、<meta>、<param>等
3. XHTML語法規則
① 屬性名必須小寫
② 屬性值必須用雙引號
③ 不允許簡寫屬性
HTML文檔中的簡寫元素:
<input disabled>
<option selected>
在XHTML中是錯誤的書寫方式,正確方式爲:
<input disabled=”disabled”/>
<option selected=”selected”/>
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>、<frame>、<iframe>、<img>和<map>標籤,HTML4.01定義了name 屬性,在XHTML中用id代替(針對版本較低的瀏覽器,應該同時使用id和name 屬性,並使兩值相同)
⑤ 使用XHTML DTD定義必要的標籤
所有XHTML文檔都包括XML聲明、DOCTYPE(文檔類型)聲明、XHTML命名空間 以及文檔內含有html、head、body標籤,而且title元素必須出現在head標籤內
a) XML聲明將文檔聲明爲XML文檔,同時標記該文檔遵循的XML版本,目前1.0
一般格式爲:<?xml version="1.0" encoding="UTF-8" ?>
其中encoding爲編碼信息
b) XHTML標準制定了3種文檔類型:嚴密型、過渡型(最普遍)、框架型
l XHTML1.0嚴密型(Strict)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
l XHTML1.0過度型(Transitional)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
l XHTML1.0框架型(Frameset)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
c) 把XHTML文檔標記爲參考的XHTML命名空間時,需要引用html標籤的XHTML命名空間聲明,具體形式如下:
<html xmlns="http://www.w3.org/1999/xhtml">
XHTML文檔要求xmlns屬性必須出現在<html>標籤後總,然而w3.org的校驗器不會由於這個屬性沒有出現在XHTML文檔中而報告錯誤,因爲該屬性是一個默認值,會自動加上