久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

DOCTYPE 嚴格模式與混雜模式

 復(fù)雜網(wǎng)絡(luò)621 2015-12-07

看到的一篇好文章,分享給自己,,主要是看起來比較輕松 很容易理解,。

--------------------------------------------------------------------------

今天試著翻譯了Peter-Paul Koch這篇文章,希望對大家有所幫助,。

原文鏈接:Quirks mode and strict mode 地址是:http://www./css/quirksmode.html

 

怪異模式和嚴格模式(譯注:一般稱為標準模式:Standards Mode,下文中的嚴格模式都可以理解為標準模式)是瀏覽器解析CSS時的兩種‘模式’,。這篇文章將簡單闡述這兩種模式之間的差異。

 

譯注:一個網(wǎng)頁一般由兩部分組成即:HTML(Hypertext Markup Language)和CSS(Cascade Style Sheets),。
HTML負責描述網(wǎng)頁的結(jié)構(gòu)和內(nèi)容(如標題,,導(dǎo)航欄等),而CSS則負責網(wǎng)頁的表現(xiàn)(外觀)(如背景顏色,,字體樣式等),。

 

問題的產(chǎn)生:

 

當Netscape4(譯注:網(wǎng)景公司早期的瀏覽器)和IE4(微軟公司早期的瀏覽器)實現(xiàn)CSS機制時,并沒有遵循W3C提出的標準,。Netscape4 提供了糟糕的支持,,而IE4 雖然接近標準,,但依舊未能完全正確的支持標準。盡管IE 5 修復(fù)了IE4 許多的問題(bugs),,但是依然延續(xù)CSS實現(xiàn)中的其它故障(主要是盒模型(box model)問題),。

 

為了保證自己的網(wǎng)站在不同的瀏覽器中都能正確展現(xiàn),網(wǎng)頁開發(fā)者不得不依據(jù)各個瀏覽器的自身的規(guī)范來使用CSS,。因此大部分網(wǎng)站的CSS實現(xiàn)并未符合W3C的標準,。

 

然而隨著標準一致性變得越來越重要,瀏覽器開發(fā)商不得不面臨一個艱難的抉擇:逐漸遵循W3C的標準是前進的方向,。但是改變現(xiàn)有CSS的實現(xiàn),,完整去遵循標準,會使許多網(wǎng)站或多或少受到破壞,。如果瀏覽器突然以正確的方式解析現(xiàn)存的CSS,,陳舊的網(wǎng)站顯示必然受到影響。

 

因此立即遵循標準會產(chǎn)生問題,,然而忽略標準則又會維持瀏覽器大戰(zhàn)時(譯注:微軟和網(wǎng)景之間的一段競爭)所產(chǎn)生的混亂,。

 

解決方案:

 

任何的解決方案必須跟隨如下兩個方面:

1:允許網(wǎng)站開發(fā)者能夠選擇他們所熟知的模式。

2:依然使用舊式規(guī)則顯示陳舊的網(wǎng)站,。

 

換句話說,,所有的瀏覽器需要提供兩種模式:怪異模式(即兼容模式)服務(wù)于舊式規(guī)則,嚴格模式服務(wù)于標準規(guī)則,。Mac平臺的IE瀏覽器最先實現(xiàn)這兩種模式,,Mozilla, Safari,、Opera和Windows平臺的IE6也相繼實現(xiàn)了這兩種模式,。WIndows平臺的IE5和Netscape4則只提供了怪異模式。

 

選擇使用哪種模式需要一個觸發(fā)器,,而 “DOCTYP切換” 則用于此目的,。依照標準,任何一個(X)HTML文檔必須擁有一個DOCTYPE(譯注:DTD(文檔類型定義)是一組機器可讀的規(guī)則,,它們指示(X)HTML文檔中允許有什么,,不允許有什么,DOCTYPE正是用來告訴瀏覽器使用哪種DTD,一般放在(X)HTML文檔開頭聲明)用以告訴其他人這個文檔的類型風格

      1:產(chǎn)生于標準化浪潮以前的網(wǎng)頁并沒有DOCTYPE聲明,。因此'沒有DOCTYPE'意味著觸發(fā)怪異模式:既依據(jù)舊式的CSS規(guī)則渲染網(wǎng)頁,。

      2:相反,如果開發(fā)者明確知道包含DOCTYPE,,他們應(yīng)該明白他們想要怎么做,。因此大部分的DOCTYPE聲明將觸發(fā)嚴格模式:即依據(jù)標準的CSS規(guī)則渲染網(wǎng)頁。

      3:任何新的或未知的DOCTYPE將觸發(fā)嚴格模式。

      4:一些頁面依據(jù)怪異模式而寫,,但是卻包含DOCTYPE,。這種情況下各個瀏覽器依據(jù)自己的DOCTYPE規(guī)則列表來觸發(fā)怪異模式,參照這個瀏覽器比較圖表 ,。

 

 

注意:你的網(wǎng)頁并不一定要依據(jù)所選擇的DOCTYPE去獲得有效性驗證,,一個DOCTYPE標簽足以觸發(fā)嚴格模式。

 

我在大部分網(wǎng)頁中使用如下的DOCTYPE,。它除了聲明我的網(wǎng)頁是XHTML 1.0 過渡類型之外,,還將在所有瀏覽器中觸發(fā)“準嚴格模式”(譯注:下文將介紹這個模式)

 

完美的解決方案?

 

就個人而言,,我并不十分滿意“DOCTYPE切換”方案,。一個DOCTYPE所提供的信息是(X)HTML文檔所擁有的類型風格,即文檔的結(jié)構(gòu),,而不應(yīng)該提供任何關(guān)于文檔表現(xiàn)(外觀)的信息,,因為那違反了CSS關(guān)于頁面結(jié)構(gòu)和表現(xiàn)分離的原則。

 

并發(fā)癥:準嚴格模式

 

在早些時候,,嘗試使用嚴格模式總是會產(chǎn)生關(guān)于圖片會突然獲得舊式的底部邊距,,并且無法移除的討論,。產(chǎn)生這個現(xiàn)象的原因是嚴格模式將標簽當成行內(nèi)元素,,這意味著一些空間將被保留給一些擁有”尾部“的字符如(g, j, q),而圖片并沒有“尾部”字符,,所以這些空間將不會被使用,,但是卻依舊保留著。

 

解決辦法是聲明圖片為塊級元素{display:block}

 

瀏覽器廠商,,尤其是Mozilla,,認為這是一種產(chǎn)生困惑的情況,于是他們引入了“準嚴格模式”(譯注:也稱為準標準模式 Almost Standards Mode),,這與嚴格模式一樣,,除了它將圖片當作塊級元素而不是行內(nèi)元素。

 

Windows平臺IE的特殊性 : XML聲明

 

在Windows平臺的IE6 瀏覽器中,,微軟實現(xiàn)了一個額外的規(guī)則:如果DOCTYPE聲明在XML聲明之后,,將觸發(fā)怪異模式。這樣做是為了允許開發(fā)者在怪異模式下獲得“有效的網(wǎng)頁” (需要DOCTYPE),。下面是XML聲明,,你需要將它放在頁面的開頭,在DOCTYPE之前,。

注意這種行為已經(jīng)從IE7 中移除,。

 

譯注:Peter-Paul Koch在這篇文章后面列出了怪異模式和嚴格模式在不同瀏覽器中的一些重要表現(xiàn),建議了解一下,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多