欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

DOCTYPE類型詳細(xì)介紹

互聯(lián)網(wǎng)   發(fā)布時(shí)間:2008-10-17 18:47:29   作者:佚名   我要評(píng)論
我們?cè)贖TML里面聲明DOCTYPE一般會(huì)有以下幾種: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Stric

我們?cè)贖TML里面聲明DOCTYPE一般會(huì)有以下幾種:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
是的,這里有HTML和XHTML,也有Transitional和Strict之分。顧名思義,XHTML是指這個(gè)文檔是按照XML的格式來(lái)書寫的,而HTML則表示這個(gè)文檔是按照HTML的格式來(lái)書寫的。Transition則表示這個(gè)文檔達(dá)到了Transitional.dtd或者loose.dtd的要求,Strict則表示這個(gè)文檔達(dá)到了strict.dtd的要求。但事實(shí)上我們經(jīng)常會(huì)存在以下的誤解:
(1) 我的文檔是聲明為XHTML的,則我的文檔肯定完全按照XML的格式。
(2) 我的文檔是聲明為Strict的,則我的文檔肯定是按照Strict Mode的方式來(lái)Render的,反之,是以Quirks Mode的方式來(lái)Render的。
這兩種理解都很直接,然而卻是錯(cuò)誤的,我們也經(jīng)常會(huì)犯這種的錯(cuò)誤。
首先,文檔聲明為XHTML和HTML,和文檔的Parse(即瀏覽器對(duì)文檔的分析)是沒(méi)有直接關(guān)聯(lián)的。事實(shí)上,瀏覽器如何Parse文檔取決于服務(wù)器以什么格式來(lái)提供這個(gè)文檔。通常情況下,有兩種方式,"text/html"和"application/xhtml xml"。只有以"application/html xml"方式來(lái)提供的文檔才能夠被按照XML的方式來(lái)Parse。然而,因?yàn)闉g覽器的歷史原因,并不是所有的瀏覽器都支持"application/xhtml xml"格式的文檔,IE7之前的版本(包括IE7)就不能夠支持這種格式,如果IE7碰到這種格式的文檔,它會(huì)提示用戶另存為其它文件。考慮到IE使用的廣泛性,目前絕大部分的文檔都是以"text/html"的方式來(lái)提供的。以"text/html"方式來(lái)提供的文檔是按照HTML的語(yǔ)義來(lái)Parse的,大家都知道HTML的容錯(cuò)性是非常強(qiáng)的,即使你的文檔里面的TAG沒(méi)有正確地關(guān)閉,這個(gè)HTML也能夠被正確地顯示出來(lái)。因此如果你的XHTML是以"text/html"的方式來(lái)提供的(絕大多數(shù)情況下都是),那么你即使在DOCTYPE里面聲明了XHTML,你的文檔也不是以XML的格式來(lái)Parse的,因此也不能保證你的文檔是嚴(yán)格按照XML的規(guī)范的。事實(shí)上,很多專家都建議如果你的文檔不是以"application/xhtml xml"的方式來(lái)提供的,那么你就應(yīng)該聲明為HTML。
其次,瀏覽器以什么樣的方式來(lái)Render你的文檔,并不以你聲明的DTD來(lái)決定的。事實(shí)上,如果你聲明了DOCTYPE和DTD,你的文檔就是以Strict Mode(或者稱為Standard Mode,很多瀏覽器還包括Almost Standard Mode的方式,這里不進(jìn)行區(qū)分)方式來(lái)Render的。對(duì)于沒(méi)有DOCTYPE的文檔,才是以Quirks Mode方式來(lái)Render的。因此瀏覽器的Render模式和你聲明的DTD并沒(méi)有直接的關(guān)系。
最后,你聲明為Strict.dtd還是Transitional.dtd,在目前的瀏覽器看來(lái)是沒(méi)有什么區(qū)別的。Strict.dtd比Transitional.dtd或者loose.dtd要嚴(yán)格多了,很多元素在strict.dtd里面都不能使用。然而因?yàn)闉g覽器的兼容性,即使你在DOCTYPE里面聲明了Strict.dtd,瀏覽器遇到strict.dtd里面不允許的元素,也還能夠正確地顯示你的文檔。我猜測(cè)瀏覽器并沒(méi)有將DTD考慮進(jìn)去。例如iframe這個(gè)TAG在strict.dtd里面并不存在,但即使你的DOCTYPE里面聲明了strict.dtd,然后使用了iframe這個(gè)TAG,瀏覽器(包括IE7,IE8,F(xiàn)F3.0,Safari 3.0)都能夠正確地顯示你的文檔。瀏覽器并沒(méi)有按照你聲明的DTD來(lái)Parse你的文檔。目前能夠保證你的文檔是符合strict.dtd還是Transitional.dtd的,只能通過(guò)一些網(wǎng)上的Validator,如W3C Validator來(lái)分析,瀏覽器并不能夠給你很好的支持。當(dāng)然,實(shí)際上如果你能夠嚴(yán)格按照你聲明的DTD來(lái)書寫你的文檔,那是最好的,這樣保證了以后瀏覽器對(duì)DTD嚴(yán)格遵守的時(shí)候,你的文檔不會(huì)產(chǎn)生錯(cuò)誤。
因此,
(1) 如果你的文檔是以"text/html"的方式來(lái)提供的,那么你就應(yīng)該聲明為HTML。假如你想要讓IE7能夠正確地顯示,那么你就更應(yīng)該這么做了。
(2) 如果你的文檔聲明為XHTML,那么你應(yīng)該以"application/html xml"的方式來(lái)提供。
(3) 盡量在你的文檔前面聲明DOCTYPE和DTD,這樣能夠保證你不是以Quirks Mode的方式來(lái)Render文檔的。
(4) 如果你聲明了DTD,那么就要嚴(yán)格按照DTD的要求來(lái)書寫你的文檔。特別是如果你聲明了Strict.dtd,那么你應(yīng)該注意哪些元素是不能夠使用的。
注意:隨著時(shí)間的發(fā)展,瀏覽器對(duì)HTML和XHTML,Strict.dtd和Transitional.dtd的支持會(huì)更好。如果你的瀏覽器比IE7, IE8, FF 3.0和Safari 3.0要高很多很多的版本,那么你要注意本文的適用性。

相關(guān)文章

  • html doctype 作用介紹

    html doctype告訴瀏覽器使用什么樣的html或xhtml規(guī)范來(lái)解析html文檔,下面為大家詳細(xì)介紹下,希望對(duì)大家有所幫助
    2014-01-08
  • IE下文本模式!DOCTYPE作用介紹

    文檔類型(英文簡(jiǎn)稱!DOCTYPE,英文全稱DOCumentTYPE),它的目的是要告訴標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言解析器,它應(yīng)該使用什么樣的文檔類型定義(DTD)來(lái)解析文檔
    2013-04-19
  • DOCTYPE 中xhtml 1.0和 html 4.01區(qū)別分析

    經(jīng)常會(huì)用到DOCTYPE,常用的有xhtml 1.0和html 4.01,總結(jié)了下他們之間的區(qū)別
    2011-08-03
  • DOCTYPE元素詳解 完整版

    本文系統(tǒng)的講解DOCTYPE元素.同時(shí)查證了很多的資料.因?yàn)榛ヂ?lián)網(wǎng)上面的資料比較雜亂,所以經(jīng)過(guò)收集整理我進(jìn)行了重新定義.
    2011-02-24
  • DOCTYPE聲明作用及用法詳解

    很多朋友不知道DOCTYPE聲明的作用,特為大家搜索整理了這篇文章,希望對(duì)需要的朋友有所幫助。
    2011-01-26
  • 為什么使用DOCTYPE HTML

    不管是剛接觸前端,還是你已經(jīng)精通web前端開(kāi)發(fā)的內(nèi)容,你應(yīng)該知道在你寫html的時(shí)候需要定義文檔類型
    2010-10-29
  • 被忽視的DOCTYPE說(shuō)明分析

    自己在做web開(kāi)發(fā)的時(shí)候,往往著重于界面設(shè)計(jì)及數(shù)據(jù)邏輯上的處理,而對(duì)一些細(xì)節(jié)不是特別注意。
    2010-02-11
  • HTML DOCTYPE的縮寫

    寫HTML代碼的時(shí)候,第一行就要寫DOCTYPE,而DOCTYPE一般都很長(zhǎng),大家也懶得去記,所以基本都是直接去復(fù)制以前寫過(guò)的。不過(guò)今天了解到一種 DOCTYPE 的縮寫.
    2009-07-24
  • HTML教程:DOCTYPE 的縮寫

    寫HTML代碼的時(shí)候,第一行就要寫DOCTYPE,而DOCTYPE一般都很長(zhǎng),大家也懶得去記,所以基本都是直接去復(fù)制以前寫過(guò)的。不過(guò)今天了解到一種 DOCTYPE 的縮寫,如果你的 DOCTYP
    2009-04-02
  • HTML 版本聲明 DOCTYPE 標(biāo)簽

    由于不是HTML標(biāo)簽,它只是一條瀏覽器指令,告訴瀏覽器編寫頁(yè)面所用的標(biāo)記的版本,所以不需要成對(duì)出現(xiàn)
    2014-02-03

最新評(píng)論