1. 程式人生 > >瀏覽器標準模式與怪異模式-CSS1Compat and BackCompat

瀏覽器標準模式與怪異模式-CSS1Compat and BackCompat

方法 set code frameset http ctype nal cnblogs 16px

  

  由於歷史的原因,各個瀏覽器在對頁面的渲染上存在差異,甚至同一瀏覽器在不同版本中,對頁面的渲染也不同。在W3C標準出臺以前,瀏覽器在對頁面的渲染上沒有統一規範,產生了差異(Quirks mode或者稱為Compatibility Mode);由於W3C標準的推出,瀏覽器渲染頁面有了統一的標準(CSScompat或稱為Strict mode也有叫做Standars mode),這就是二者最簡單的區別。
  W3C標準推出以後,瀏覽器都開始采納新標準,但存在一個問題就是如何保證舊的網頁還能繼續瀏覽,在標準出來以前,很多頁面都是根據舊的渲染方法編寫的,如果用的標準來渲染,將導致頁面顯示異常。為保持瀏覽器渲染的兼容性,使以前的頁面能夠正常瀏覽,瀏覽器都保留了舊的渲染方法(如:微軟的IE)。這樣瀏覽器渲染上就產生了Quircks mode和Standars mode,兩種渲染方法共存在一個瀏覽器上。

  BackCompat 對應quirks mode

  CSS1Compat 對應strict mode

  BackCompat:標準兼容模式關閉。

  CSS1Compat:標準兼容模式開啟。

  在Standars mode中:
  元素真正的寬度 = margin-left + border-left-width + padding-left + width + padding-right + border-right-width + margin-right;

  在Quirks mode中:
  width則是元素的實際寬度,內容寬度 = width - (margin-left + margin-right + padding-left + padding-right + border-left-width + border-right-width);

  在js中如何判斷當前瀏覽器正在以何種方式解析?

    

window.top.document.compatMode

  

  如何設置為怪異模式:

  方法一:在頁面項部加 <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
  方法二:什麽也不加。


  如何設置為標準模式:

  加入以下任意一種:HTML4提供了三種DOCTYPE可選擇:

  <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.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 Frameset//EN” “http://www.w3.org/TR/html4/frameset.dtd”>

  

瀏覽器標準模式與怪異模式-CSS1Compat and BackCompat