如何在頁面中設定ie瀏覽器的文件模式
-最近在使用乙個開源框架,發現該框架能跨瀏覽器和版本,但唯獨在ie下的quirks model下表現不太好。
一開始想著如何自己去完善在該模式下的問題,後來一想為何不找到一種方法,在**裡面設定好讓頁面在ie瀏覽器下面不呈現quirks model呢?
於是在網上找資料,發現了原來可以通過dtd的宣告來讓瀏覽器決定用何種模式。
我把 改為
就不會出現quirks model了,問題也就解決了
******************************==
標準模式與怪異模式:
由於歷史的原因,各個瀏覽器在對頁面的渲染上存在差異,甚至同一瀏覽器在不同版本中,對頁面的渲染也不同。在w3c標準出台以前,瀏覽器在對頁面的渲染上沒有統一規範,產生了差異(quirks mode或者稱為compatibility mode);由於w3c標準的推出,瀏覽器渲染頁面有了統一的標準(csscompat或稱為strict mode也有叫做standars mode),這就是二者最簡單的區別。
w3c標準推出以後,瀏覽器都開始採納新標準,但存在乙個問題就是如何保證舊的網頁還能繼續瀏覽,在標準出來以前,很多頁面都是根據舊的渲染方法編寫的,如果用的標準來渲染,將導致頁面顯示異常。為保持瀏覽器渲染的相容性,使以前的頁面能夠正常瀏覽,瀏覽器都保留了舊的渲染方法(如:微軟的ie)。這樣瀏覽器渲染上就產生了quircks mode和standars mode,兩種渲染方法共存在乙個瀏覽器上。
火狐一直工作在標準模式下,但ie(6,7,8)標準模式與怪異模式差別很大,主要體現在對盒子模型的解釋上,這個很重要,下面就重點說這個。
那麼瀏覽器究竟該採用哪種模式渲染呢?這就引出的dtd,既是網頁的頭部宣告,瀏覽器會通過識別dtd而採用相對應的渲染模式:
1. 瀏覽器要使老舊的網頁正常工作,但這部分網頁是沒有doctype宣告的,所以瀏覽器對沒有doctype宣告的網頁採用quirks mode解析。
2. 對於擁有doctype宣告的網頁,什麼瀏覽器採用何種模式解析,這裡有一張詳細列表可參考:
3. 對於擁有doctype宣告的網頁,這裡有幾條簡單的規則可用於判斷:對於那些瀏覽器不能識別的doctype宣告,瀏覽器採用strict mode解析
4. 在doctype宣告中,沒有使用dtd宣告或者使用html4以下(不包括html4)的dtd宣告時,基本所有的瀏覽器都是使用quirks mode呈現,其他的則使用strict mode解析。
5. 可以這麼說,在現有有doctype宣告的網頁,絕大多數是採用strict mode進行解析的。
6. 在ie6中,如果在doctype宣告前有乙個xml宣告(比如:<?xml version="1.0" encoding="iso-8859-1"?>),則採用quirks mode解析。這條規則在ie7中已經移除了。
如何設定為怪異模式:
方法一:在頁面項部加
我們用eclipse的html模板新建的html頁面,自動就有上面東東
方法二:什麼也不加。
如何設定為標準模式:
加入以下任意一種:
html4提供了三種doctype可選擇:
xhtml1.0提供了三種doctype可選擇:
(1)過渡型(transitional )
(2)嚴格型(strict )
(3)框架型(frameset )
這裡有一張詳細列表可參考:
如何判定現在是標準模式還是怪異模式:
方法一:執行以下**
alert(window.top.document.compatmode) ;
//backcompat 表示怪異模式
//css1compat 表示標準模式
方法二:jquery為我們提供的方法,如下:
alert($.boxmodel)
alert($.support.boxmodel)
ie6,7,8瀏覽器的標準模式還是怪異模式 盒子模型的 差異
詳細說明:
如何設定IE瀏覽器
問題描述 如何設定 ie瀏覽器 解決方法 1 選擇 ie選單欄上的 工具 internet 選項2 將站點 加入受信任站點,選擇 安全 page 頁,選擇 可信站點 點選 站點 按鈕。3 不要勾選 對該區域中的所有站點要求伺服器 驗證 https 在 該 新增到區域 的文字框中,輸入你的站點位址,例...
如何在中國滅掉IE6瀏覽器
愛一流先生 mr.ie6 在網際網路存在已經快九年,它是微軟為視窗作業系統windows開發的網頁瀏覽器internet explorer的第六個版本。它從2001年8月27日被發布,幾乎走過了網際網路從寒冬到復興的近十年時間,它為使用者了解和使用網際網路作出了巨大貢獻,它也是史上生命週期最長的瀏覽...
如何在瀏覽器中執行 VS Code?
摘要 web ide新時代!原文 有趣的專案 在瀏覽器中執行 visual studio code 以下示例均基於coder當前版本 1.691 後續版本中可能會發生變化,因此如果執行有問題的話,建議參考 coder 官網。假如你的機器已經安裝了docker的話,那麼該方式是最簡便的。由於docke...