XHTML教程:Doctype文檔類型聲明必不可少!_XHTML教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
HTML遵循一定的規(guī)則。這些規(guī)則包含在一個(gè)文檔類型定義(Document Type Definition)文件中,或者如大家所知的DTD。DTD是一個(gè)XML文檔,解釋了哪些標(biāo)簽、屬性或值對(duì)于HTML的一個(gè)特定類型是有效的。每一個(gè)HTML版本,都有一個(gè)對(duì)應(yīng)的DTD。現(xiàn)在你可能會(huì)問(wèn):“所有這些和CSS又有什么關(guān)系呢?”
假如想讓網(wǎng)頁(yè)中的所有內(nèi)容都在網(wǎng)頁(yè)瀏覽器上正確、一致地顯示,就得告訴網(wǎng)頁(yè)瀏覽器你正使用HTML或者XHTML的哪個(gè)版本,包括一個(gè)網(wǎng)頁(yè)開(kāi)頭處的文檔類型聲明(doctype declaration)是什么意思。這個(gè)文檔類型聲明是在HTML文件的第一行,不僅定義你正使用的HTML版本(比如HTML 4.01 Transitional),而且指向網(wǎng)頁(yè)中適當(dāng)?shù)腄TD文件。當(dāng)鍵錯(cuò)文檔聲明時(shí),你會(huì)使大部分瀏覽器進(jìn)入一個(gè)叫怪異模式(Quirks Mode)(譯注1)的警告狀態(tài)。
怪異模式(Quirks Mode)是瀏覽器制造商為使他們的軟件運(yùn)行起來(lái)就像大約1999年(Netscape 4和Internet Explorer 5時(shí)代)時(shí)的瀏覽器所采用的方法。假如一個(gè)現(xiàn)代瀏覽器碰到一張沒(méi)有正確文檔類型的網(wǎng)頁(yè),它就會(huì)以為:“嗯,這張網(wǎng)頁(yè)一定是很早很早以前用HTML編輯器寫的。我得假裝自己是一個(gè)真正很舊的瀏覽器來(lái)顯示網(wǎng)頁(yè),就像那些bug重重的舊瀏覽器所顯示的那樣。”這就是為什么當(dāng)沒(méi)有一個(gè)正確的文檔類型時(shí),你用CSS進(jìn)行樣式設(shè)置的可愛(ài)網(wǎng)頁(yè),可能看起來(lái)并不像它根據(jù)當(dāng)前的標(biāo)準(zhǔn)所應(yīng)該顯示的樣子。當(dāng)你在瀏覽器上檢測(cè)時(shí),無(wú)意中用怪異模式(Quirks Mode)瀏覽到你的網(wǎng)頁(yè),你可能會(huì)停止嘗試去修正與不正確的文檔類型有關(guān)、而不是不正當(dāng)使用HTML或者CSS所引起的顯示問(wèn)題。
注重:想了解更多關(guān)于怪異模式的相關(guān)信息,請(qǐng)?jiān)L問(wèn)www.quirksmode.org/index. html?/css/quirksmode.html 和 http://hsivonen.iki.fi/doctype/。
所幸的是,獲得正確的文檔類型很簡(jiǎn)單。你所要知道的就是正在使用哪個(gè)HTML版本。最可能的是,你已經(jīng)用HTML 4創(chuàng)建了網(wǎng)頁(yè)。你甚至可能已經(jīng)開(kāi)始給你的網(wǎng)站使用XHTML(見(jiàn)第5頁(yè))。
目前最流行的HTML和XHTML的版本是HTML 4.01 Transitional和XHTML 1.0 Transitional。這些HTML類型仍然讓你使用展示型的標(biāo)簽,如<font>標(biāo)簽,在這方面還提供一個(gè)從舊版HTML到新版HTML的過(guò)渡:更嚴(yán)格的HTML和XHTML
標(biāo)簽。雖然最好不要使用這些標(biāo)簽,但它們?cè)赥ransitional版中仍然起作用,因此你可以根據(jù)自己的情況,逐步淘汰這些舊式標(biāo)簽。在嚴(yán)格版的HTML和XHTML中,有些舊式標(biāo)簽根本不起作用。
注重:一般來(lái)說(shuō),HTML和XHTML的嚴(yán)格版均不接受僅使網(wǎng)頁(yè)展現(xiàn)效果好看的標(biāo)簽和屬性,如<font>標(biāo)簽和一個(gè)段落的置中屬性。它們也不接受一些曾經(jīng)流行的屬性,比如一個(gè)鏈接的目標(biāo)屬性——讓你在一個(gè)新窗口中打開(kāi)鏈接。
假如你正使用HTML 4.01 Transitional,就要在創(chuàng)建的每張網(wǎng)頁(yè)的開(kāi)頭處鍵入下列文檔類型聲明:
XHTML 1.0 Transitional的文檔聲明也與此相似,但它指向一個(gè)不同的DTD。給開(kāi)始的<html>標(biāo)簽添加一些代碼來(lái)識(shí)別網(wǎng)頁(yè)所用的語(yǔ)言,這也是個(gè)好主意,就像這樣:
注重:假如你正在給網(wǎng)頁(yè)使用框架(frame),那么你就要給框架設(shè)置使用一個(gè)文檔類型。請(qǐng)見(jiàn)W3C網(wǎng)站中正確的文檔類型列表清單:www.w3.org/QA/ 2002/04/valid-dtd-list.html。
假如這整個(gè)討論正讓你頭疼且累得合不上眼,那么只要確保使用以上所列的正確的文檔類型,并且始終將它放在HTML文件的第一行(恰好在<html>標(biāo)簽的前面)就行了。假如你想要一個(gè)基本的模板,便于在創(chuàng)建HTML或者XHTML網(wǎng)頁(yè)時(shí)使用,請(qǐng)?jiān)L問(wèn)本書的網(wǎng)站:www.sawmac.com/css/。事實(shí)上,使用正確文檔類型來(lái)創(chuàng)建一個(gè)空白的HTML網(wǎng)頁(yè)并保存在你的計(jì)算機(jī)上,是一個(gè)好主意。這樣每當(dāng)你需要?jiǎng)?chuàng)建一個(gè)新網(wǎng)頁(yè)的時(shí)候就從它那里進(jìn)行拷貝。使用一個(gè)HTML檢驗(yàn)器,就像在第22頁(yè)方框中所述的那樣,也是確保你正確鍵入文檔類型聲明的一個(gè)好辦法。
注重:大部分可視的網(wǎng)頁(yè)工具如Dreamweaver、GoLive和FrontPage,在創(chuàng)建一張新網(wǎng)頁(yè)時(shí)都會(huì)自動(dòng)添加一個(gè)文檔類型聲明。許多智能型的HTML文本編輯器都有添加文檔類型的快捷方式。
假如想讓網(wǎng)頁(yè)中的所有內(nèi)容都在網(wǎng)頁(yè)瀏覽器上正確、一致地顯示,就得告訴網(wǎng)頁(yè)瀏覽器你正使用HTML或者XHTML的哪個(gè)版本,包括一個(gè)網(wǎng)頁(yè)開(kāi)頭處的文檔類型聲明(doctype declaration)是什么意思。這個(gè)文檔類型聲明是在HTML文件的第一行,不僅定義你正使用的HTML版本(比如HTML 4.01 Transitional),而且指向網(wǎng)頁(yè)中適當(dāng)?shù)腄TD文件。當(dāng)鍵錯(cuò)文檔聲明時(shí),你會(huì)使大部分瀏覽器進(jìn)入一個(gè)叫怪異模式(Quirks Mode)(譯注1)的警告狀態(tài)。
怪異模式(Quirks Mode)是瀏覽器制造商為使他們的軟件運(yùn)行起來(lái)就像大約1999年(Netscape 4和Internet Explorer 5時(shí)代)時(shí)的瀏覽器所采用的方法。假如一個(gè)現(xiàn)代瀏覽器碰到一張沒(méi)有正確文檔類型的網(wǎng)頁(yè),它就會(huì)以為:“嗯,這張網(wǎng)頁(yè)一定是很早很早以前用HTML編輯器寫的。我得假裝自己是一個(gè)真正很舊的瀏覽器來(lái)顯示網(wǎng)頁(yè),就像那些bug重重的舊瀏覽器所顯示的那樣。”這就是為什么當(dāng)沒(méi)有一個(gè)正確的文檔類型時(shí),你用CSS進(jìn)行樣式設(shè)置的可愛(ài)網(wǎng)頁(yè),可能看起來(lái)并不像它根據(jù)當(dāng)前的標(biāo)準(zhǔn)所應(yīng)該顯示的樣子。當(dāng)你在瀏覽器上檢測(cè)時(shí),無(wú)意中用怪異模式(Quirks Mode)瀏覽到你的網(wǎng)頁(yè),你可能會(huì)停止嘗試去修正與不正確的文檔類型有關(guān)、而不是不正當(dāng)使用HTML或者CSS所引起的顯示問(wèn)題。
注重:想了解更多關(guān)于怪異模式的相關(guān)信息,請(qǐng)?jiān)L問(wèn)www.quirksmode.org/index. html?/css/quirksmode.html 和 http://hsivonen.iki.fi/doctype/。
所幸的是,獲得正確的文檔類型很簡(jiǎn)單。你所要知道的就是正在使用哪個(gè)HTML版本。最可能的是,你已經(jīng)用HTML 4創(chuàng)建了網(wǎng)頁(yè)。你甚至可能已經(jīng)開(kāi)始給你的網(wǎng)站使用XHTML(見(jiàn)第5頁(yè))。
目前最流行的HTML和XHTML的版本是HTML 4.01 Transitional和XHTML 1.0 Transitional。這些HTML類型仍然讓你使用展示型的標(biāo)簽,如<font>標(biāo)簽,在這方面還提供一個(gè)從舊版HTML到新版HTML的過(guò)渡:更嚴(yán)格的HTML和XHTML
標(biāo)簽。雖然最好不要使用這些標(biāo)簽,但它們?cè)赥ransitional版中仍然起作用,因此你可以根據(jù)自己的情況,逐步淘汰這些舊式標(biāo)簽。在嚴(yán)格版的HTML和XHTML中,有些舊式標(biāo)簽根本不起作用。
注重:一般來(lái)說(shuō),HTML和XHTML的嚴(yán)格版均不接受僅使網(wǎng)頁(yè)展現(xiàn)效果好看的標(biāo)簽和屬性,如<font>標(biāo)簽和一個(gè)段落的置中屬性。它們也不接受一些曾經(jīng)流行的屬性,比如一個(gè)鏈接的目標(biāo)屬性——讓你在一個(gè)新窗口中打開(kāi)鏈接。
假如你正使用HTML 4.01 Transitional,就要在創(chuàng)建的每張網(wǎng)頁(yè)的開(kāi)頭處鍵入下列文檔類型聲明:
示例代碼 [www.hl5o.cn]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
XHTML 1.0 Transitional的文檔聲明也與此相似,但它指向一個(gè)不同的DTD。給開(kāi)始的<html>標(biāo)簽添加一些代碼來(lái)識(shí)別網(wǎng)頁(yè)所用的語(yǔ)言,這也是個(gè)好主意,就像這樣:
示例代碼 [www.hl5o.cn]
<!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" xml:lang="en" lang="en">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
注重:假如你正在給網(wǎng)頁(yè)使用框架(frame),那么你就要給框架設(shè)置使用一個(gè)文檔類型。請(qǐng)見(jiàn)W3C網(wǎng)站中正確的文檔類型列表清單:www.w3.org/QA/ 2002/04/valid-dtd-list.html。
假如這整個(gè)討論正讓你頭疼且累得合不上眼,那么只要確保使用以上所列的正確的文檔類型,并且始終將它放在HTML文件的第一行(恰好在<html>標(biāo)簽的前面)就行了。假如你想要一個(gè)基本的模板,便于在創(chuàng)建HTML或者XHTML網(wǎng)頁(yè)時(shí)使用,請(qǐng)?jiān)L問(wèn)本書的網(wǎng)站:www.sawmac.com/css/。事實(shí)上,使用正確文檔類型來(lái)創(chuàng)建一個(gè)空白的HTML網(wǎng)頁(yè)并保存在你的計(jì)算機(jī)上,是一個(gè)好主意。這樣每當(dāng)你需要?jiǎng)?chuàng)建一個(gè)新網(wǎng)頁(yè)的時(shí)候就從它那里進(jìn)行拷貝。使用一個(gè)HTML檢驗(yàn)器,就像在第22頁(yè)方框中所述的那樣,也是確保你正確鍵入文檔類型聲明的一個(gè)好辦法。
注重:大部分可視的網(wǎng)頁(yè)工具如Dreamweaver、GoLive和FrontPage,在創(chuàng)建一張新網(wǎng)頁(yè)時(shí)都會(huì)自動(dòng)添加一個(gè)文檔類型聲明。許多智能型的HTML文本編輯器都有添加文檔類型的快捷方式。
相關(guān)XHTML教程:
- HTML5 INPUT placeholder及兼容性處理
- HTML表單里的Label標(biāo)簽
- 淺析HTML與javascript中常用編碼
- CSS網(wǎng)頁(yè)布局中必須要了解的幾個(gè)XHTML標(biāo)簽
- title和alt 標(biāo)簽介紹及其異同
- 淺析HTML標(biāo)簽strong和em的區(qū)別
- 說(shuō)說(shuō)XHTML中的alt屬性和title屬性
- Semantics語(yǔ)義是Html Xhtml是否真正符合標(biāo)準(zhǔn)的重要部分
- 九個(gè)W3C XHTML1.0及CSS標(biāo)準(zhǔn)認(rèn)證需要注意的問(wèn)題
- 請(qǐng)注意頁(yè)面head區(qū)域的編碼是不是規(guī)范
- HTML validate - 驗(yàn)證HTML代碼穿越多重瀏覽器標(biāo)準(zhǔn)
- XHTML具有語(yǔ)義的標(biāo)簽:有關(guān)H1位置的討論
XHTML教程Rss訂閱Div+Css教程搜索
XHTML教程推薦
- HTML高級(jí)教程親和力的連接
- XHTML三種文件類型聲明
- HTML中級(jí)教程Javascript
- HTML各個(gè)元素對(duì)搜索引擎的權(quán)重比例
- Semantics語(yǔ)義是Html Xhtml是否真正符合標(biāo)準(zhǔn)的重要部分
- HTML和CSS在Flash中的應(yīng)用
- HTML validate - 驗(yàn)證HTML代碼穿越多重瀏覽器標(biāo)準(zhǔn)
- 你必須了解的一些xhtml結(jié)構(gòu)標(biāo)簽
- HTML表單里的Label標(biāo)簽
- HTML表格標(biāo)記教程(38):表頭的邊框色屬性BORDERCOLOR
- 相關(guān)鏈接:
- 教程說(shuō)明:
XHTML教程-XHTML教程:Doctype文檔類型聲明必不可少!
。