DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义
DOCTYPE html PUBLIC 指定了 HTML 文檔遵循的文檔類型定義??
今天看到一篇CSS應(yīng)用的一個友好搜索,我按網(wǎng)頁上的代碼復(fù)制、粘貼后預(yù)覽時總達(dá)不到效果,而直接拷貝他的實(shí)例卻能達(dá)到效果,開始以為書寫順序不對,于是調(diào)整書寫順序,還是不行,最后找到了我認(rèn)為最沒什么用處的第一行才發(fā)現(xiàn)真正起作用的竟然是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">暈,這還真重要.網(wǎng)上搜搜,查出下面的資料.
<!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">?手機(jī)上用的是:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">?
到底有什么用?
我只是記得這是用來聲明文檔類型的,具體的含義和作用忘記了。百度一下之后,分享出來。
XHTML 是 HTML 的改造和升級版。W3C 的 XHTML 1.0 規(guī)范在這里:
http://www.w3.org/TR/xhtml1/
W3C 目前正在制定 XHTML 2.0 規(guī)范:
http://www.w3.org/TR/xhtml2/
XHTML 1.0 所做的工作就是將 HTML 4.0(最后的 HTML 版本)按照符合 XML 標(biāo)準(zhǔn)的要求加以改造。XHTML 1.0 并未定義任何新的元素和屬性,而是沿用了所有 HTML 4.0 的元素和屬性,因此 XHTML 1.0 與 HTML 4.0 是完全兼容的。傳統(tǒng)的 Web 開發(fā)者/設(shè)計(jì)師非常容易掌握 XHTML 1.0。目前所有主流的桌面瀏覽器都已經(jīng)可以很好地支持 XHTML 1.0,甚至很多移動智能設(shè)備(智能手機(jī)、PDA 等等)中的瀏覽器也已經(jīng)可以很好地支持 XHTML 1.0。 XHTML 2.0 對于 XHTML 1.0 做了很大的改進(jìn),很多地方甚至與 XHTML 1.0 不兼容。由于目前主流的瀏覽器僅僅只能支持 XHTML 1.0,因此我們這里的討論將限制在 XHTML 1.0 的范圍內(nèi)。
--以上都是廢話!
既然 XHTML 1.0 對于 HTML 4.0 做了改造,那么必然對于頁面提出了一些新的要求,這些新的要求包括
1. 必須在頁面最頂部加上 DOCTYPE 的聲明。如果不加這個聲明,瀏覽器就會按照 HTML 4.0 的方式來處理,而不把頁面當(dāng)作 XHTML 處理。
HTML is the publishing language of the World Wide Web.?
html 是當(dāng)前互聯(lián)網(wǎng)被普遍采用的頁面描述語言,被瀏覽器解釋并形成最終網(wǎng)頁頁面。?
xhtml與html相似,但是其文檔是兩夠的xml文檔,因此更為整齊、標(biāo)準(zhǔn)化、易于處理和交流、易于擴(kuò)展。
XHTML 1.0 的 DOCTYPE 聲明有 3 種,分別對應(yīng) 3 種不同的 DTD。
Transitional —— 最寬松的 DTD,可以使用帶表現(xiàn)含義的標(biāo)簽和屬性。
寫法為: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">Strict —— 最嚴(yán)格的 DTD,不允許使用任何帶表現(xiàn)含義的標(biāo)簽和屬性。
寫法為: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">Frameset —— 用于使用了 frame 的頁面(即,包含有 <frameset> 標(biāo)記)。
寫法為: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
在剛剛開始向 XHTML 遷移的過程中,可以使用 Transitional 的 DTD,當(dāng)習(xí)慣了更好的頁面開發(fā)方法后,可以轉(zhuǎn)向使用 Strict 的 DTD。只有在需要用到 frame 的頁面,才應(yīng)該使用 Frameset 的 DTD。
?
2. 緊跟在上面 DOCTYPE 聲明之后的是一個 XHTML 名字空間(namespace)聲明,放在增強(qiáng)的 <html> 元素中,寫法為:
<html xmlns="http://www.w3.org/1999/xhtml">3. 由于 XHTML 1.0 頁面就是合法的 XML 文檔,而 XML 對于標(biāo)簽和屬性都是區(qū)分大小寫的,為了簡單起見,XHTML 1.0 頁面中所有的標(biāo)簽和屬性都必須使用小寫。
一些免費(fèi)的工具,例如 HTML Tidy(http://tidy.sourceforge.net/),可以幫助你把標(biāo)簽和屬性自動轉(zhuǎn)換為小寫。4. 通過在 <head> 元素中添加一個 <meta> 元素來聲明頁面中使用的語言。
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />?
5. 在 XHTML 中,所有的屬性都必須要加上引號。
一些免費(fèi)的工具,例如 HTML Tidy(http://tidy.sourceforge.net/),可以幫助你自動為所有的屬性加上引號。6. 在 XHTML 中,所有的屬性都必須有值。
不能像在 HTML 4.0 中那樣寫: <input type="checkbox" name="shirt" value="medium" checked>?
而要寫成: <input type="checkbox" name="shirt" value="medium" checked="checked" />?
7. 在 XHTML 中,所有的標(biāo)簽都必須關(guān)閉。
關(guān)閉標(biāo)簽有兩種方式,包含內(nèi)容的標(biāo)簽使用結(jié)束標(biāo)簽關(guān)閉,空標(biāo)簽在后面加上空格和“/”。例如: <p>This is acceptable HTML and it is also valid XHTML.</p><img src="logo.gif" />?
8. 不要在注釋內(nèi)容中使用“--” 。
“--” 只能使用在 XHTML 注釋的開頭和結(jié)束,不能出現(xiàn)在注釋的內(nèi)容中。下面的寫法都是不允許的: <!--Invalid -- and so is the classic "separator" below. --><!------------------------------------>?
9. 把所有的特殊符號編碼。
< = &lt;> = &gt;& = &amp;?
W3C 的 XHTML/CSS/DOM 這 3 個規(guī)范構(gòu)成了一個完整而嚴(yán)密的體系,我稱這 3 個規(guī)范為 Web 世界中“三位一體神的化身”。這 3 個規(guī)范分別代表了 Web 頁面的 structure(結(jié)構(gòu))、presentation(表現(xiàn))和 behaviour(行為) 3 部分。將 Web 頁面嚴(yán)格分為這 3 層,并且盡量使每一層的內(nèi)容相互獨(dú)立,有助于提高頁面的可重用性和模塊化程度,大幅降低頁面制作、維護(hù)和修改的成本。為了達(dá)到上述分層的目標(biāo),編寫的 XHTML 中應(yīng)該只包含與 structure 相關(guān)的標(biāo)記(元素和屬性)。因此應(yīng)該習(xí)慣于使用 Strict 類型的 DTD,盡快摒棄那些帶有表現(xiàn)含意的標(biāo)記(這些標(biāo)記在 HTML 4.0 規(guī)范中被標(biāo)識為 Deprecated 即“不提倡”,并且會在 XHTML 以后的版本中被完全舍棄);盡快摒棄基于 table 做布局的老方法,采用完全的 CSS 布局。
附:推薦的 XHTML 相關(guān)書籍。
那么為什么要遵循規(guī)范?這些規(guī)范能給我們帶來什么樣的好處?
標(biāo)準(zhǔn)重構(gòu)是個新名詞,對于大部分企業(yè)來講,還不知道是什么含義,我們這里無須把這個名詞解釋的多么的深奧,為什么要用標(biāo)準(zhǔn)重構(gòu)呢?采用網(wǎng)站標(biāo)準(zhǔn)有什么好處?
對網(wǎng)站瀏覽者的好處:
文件下載與頁面顯示速度更快;?
內(nèi)容能被更多的用戶所訪問(包括失明、視弱、色盲等殘障人士);?
內(nèi)容能被更廣泛的設(shè)備所訪問(包括屏幕閱讀機(jī)、手持設(shè)備、搜索機(jī)器人、打印機(jī)、電冰箱等等) ;
用戶能夠通過樣式選擇定制自己的表現(xiàn)界面 ;
所有頁面都能提供適于打印的版本 ;
對網(wǎng)站所有者的好處:
更少的代碼和組件,容易維護(hù),帶寬要求降低(代碼更簡潔),成本降低。舉個例子:當(dāng) ESPN.com 使用 CSS改版后,每天節(jié)約超過兩兆字節(jié)(terabytes)的帶寬。?
更容易被搜尋引擎搜索到 ;
改版方便,不需要變動頁面內(nèi)容 ;
提供打印版本而不需要復(fù)制內(nèi)容 ;
提高網(wǎng)站易用性。在美國,有嚴(yán)格的法律條款(Section 508)來約束政府網(wǎng)站必須達(dá)到一定的易用性,其他國家也有類似的要求
來自:http://jdiqssu.blog.163.com/blog/static/666413942009916822833/
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IBM DS4800控制器更换和电池误告
- 下一篇: 微信浏览器内打开App Store链接