色欲av一区久久精品_久久综合色综合色88_无码在线观看不卡_色黄视频网站_亚洲国产精品久久久久秋霞66

瀏覽器呈現(xiàn)模式和doctype

時間:2022-06-18

一、瀏覽器呈現(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)頁。

image.png

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)頁的一種有效手段,前提是你注意到了各種瀏覽器的不一致,并能積極主動地避免各種問題。



Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號

與項(xiàng)目經(jīng)理交流
掃描二維碼
與項(xiàng)目經(jīng)理交流
掃描二維碼
與項(xiàng)目經(jīng)理交流
ciya68