一、瀏覽器呈現(xiàn)模式和doctype
對于企業(yè)建設(shè)網(wǎng)站來講,有的網(wǎng)頁是遵循標(biāo)準(zhǔn)而創(chuàng)作的,但也有很多不是。即使你不能創(chuàng)建遵循標(biāo)準(zhǔn)的網(wǎng)頁,也希望瀏覽器根據(jù)標(biāo)準(zhǔn)來正確顯示那些頁。目前,大量網(wǎng)頁充斥著大量非標(biāo)準(zhǔn)代碼,它們?nèi)阅苷5毓ぷ?。事?shí)上,為舊版瀏覽器設(shè)計(jì)的大多數(shù)代碼都能在新版瀏覽器中正確顯示(雖然呈現(xiàn)方式可能有所區(qū)別)。這是什么原因呢?事實(shí)上,假如嚴(yán)格遵循最新標(biāo)準(zhǔn),會完全破壞那些頁的生存基礎(chǔ)。對于任何希望有所作為的瀏覽器來說,這當(dāng)然是令人無法接受的。
瀏覽器呈現(xiàn)模式
現(xiàn)代瀏覽器包括不同的呈現(xiàn)模式,目的是既支持遵循標(biāo)準(zhǔn)的網(wǎng)頁,也支持為老式瀏覽器而設(shè)計(jì)的網(wǎng)頁。其中, Standards (標(biāo)準(zhǔn))模式(也就是嚴(yán)格呈現(xiàn)模式)用于呈現(xiàn)遵循最新標(biāo)準(zhǔn)的網(wǎng)頁,而 Quirks (包容)模式(也就是松散呈現(xiàn)模式或者兼容模式)用于呈現(xiàn)為傳統(tǒng)瀏覽器而設(shè)計(jì)的網(wǎng)頁。另外,注意Mozilla/Netscape 6新增了一種 Almost Standards (近似標(biāo)準(zhǔn))模式,用于支持為標(biāo)準(zhǔn)的某個老版本而設(shè)計(jì)的網(wǎng)頁。
什么是 doctype切換?
企業(yè)網(wǎng)站設(shè)計(jì),品牌網(wǎng)站建設(shè),放在網(wǎng)頁頂部的doctype聲明是讓瀏覽器進(jìn)入正確呈現(xiàn)模式的關(guān)鍵。瀏覽器自動切換到恰當(dāng)?shù)某尸F(xiàn)模式,以便正確顯示由doctype聲明所指定的文檔種類。
理論上,這應(yīng)該是一個非常直觀的切換。假如doctype指出當(dāng)前網(wǎng)頁是一個遵循標(biāo)準(zhǔn)(也就是HTML 4+或XHTML 1+)的文檔,瀏覽器就會切換到Standards模式。假如沒有指定doctype,或者指定HTML 3.2以及更老的版本,瀏覽器就切換到Quirks模式。這樣一來,瀏覽器既能正確顯示遵循標(biāo)準(zhǔn)的文檔,又不至于完全舍棄老式的、與標(biāo)準(zhǔn)不符的網(wǎng)頁。
doctype切換的問題
但是,doctype切換是一個不完善的方案。即使你在Web文檔中使用了一個doctype聲明,瀏覽器也可能不會采取你希望的呈現(xiàn)模式來顯示網(wǎng)頁。原因是多方面的,包括形式錯誤的doctype,以及不同<?xml version="1.0" encoding="UTF-8"?>) 開頭,其中包括XHTML網(wǎng)頁。然而,IE,Opera和舊版Safari都希望文檔的第一行是doctype聲明。所以,如果在它之前還有其他任何東西(包括XML prolog),就無法識別doctype。因此,XML prolog的存在會使IE,Opera和Safari進(jìn)入Quirks模式。XML prolog并非必需的,所以你可在XHTML網(wǎng)頁中安全地省略它。注意:一定要在http-equiv meta標(biāo)記中包括一個charset屬性,以彌補(bǔ)XML prolog中缺失的encoding屬性。
丟失的URL或者相對URL:
在完整的doctype聲明中,要包括相應(yīng)的文檔類型定義(DTD)文件的URL。如果URL丟失,或者指定的是一個相對路徑(而不是完全限定的Internet地址),大多數(shù)瀏覽器都會進(jìn)入Quirks模式,不管doctype聲明規(guī)定的是什么模式。
形式錯誤的doctype:
瀏覽器對doctype聲明的形式和格式非常敏感,如果不能識別一個形式錯誤的doctype,就會強(qiáng)制進(jìn)入Quirks模式(正是因?yàn)檫@個原因,所以我們建議將一個已知正確的doctype拷貝和粘貼到文檔中,而不是親自輸入它)。之所以出現(xiàn)形式錯誤的doctype,一個常見的原因是在doctype的第一部分與URL之間缺少一個空格。將一個分兩行的doctype折疊成單獨(dú)一行,常常會丟失那個空格。
過渡期的 doctype :
瀏覽器處理過渡期的doctype時,最容易出現(xiàn)不一致的問題。IE和Opera使用Standards模式;Netscape 6和舊版本的Safari使用Quirks模式;Netscape 7、Mozilla 1和新版本的Safari使用Netscape的Almost Standards模式,它是Standards模式的一個具有更好容錯性的版本。
未知的 doctype :
瀏覽器在處理不能識別的doctype時,也存在不一致的現(xiàn)象。IE和Opera會進(jìn)入Standards模式;換言之,它假定不能識別的doctype是尚未在瀏覽器中集成的一個新標(biāo)準(zhǔn)。Netscape 6則相反,會在遇到不能識別的doctype時切換到Quirks模式。
doctype切換也許是讓瀏覽器進(jìn)入正確呈現(xiàn)模式并正確顯示網(wǎng)頁的一種有效手段,前提是你注意到了各種瀏覽器的不一致,并能積極主動地避免各種問題。
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長沙市天心區(qū)芙蓉中路三段398號新時空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號