由於歷史的原因,不同瀏覽器對頁面的渲染是不同的,甚至同一瀏覽器的不同版本也是不同的。然後這時候就出現了乙個至關重要的標準規範:w3c標準。
答案是:宣告
注意:宣告必須是 html 文件的第一行,位於
標籤之前。
1. 混雜模式:
2. 標準模式:
通過下列幾種文件型別宣告開啟:
// html 4.01 strict:
<
!doctype
html
public
"-//w3c//dtd html 4.01//en"
"">
// xhtml 1.0 strict:
<
!doctype html public
"-//w3c//dtd xhtml 1.0 strict//en"
"">
// html5:
<
!doctype html>
3. xhtml文件如果包含形式完整的doctype,一般以標準模式呈現。
1. scrollleft 和 scrolltop:
//如:在頁面滾動時垂直方向上滾動的距離:
window.
addeventlistener
("scroll"
,(event)
=>
else})
;
2. 盒模型:
具體參見我之前總結的:css盒模型
3. 尺寸單位:
瀏覽器提供了以標準、混雜模式渲染頁面的能力之後,檢測頁面渲染模式成為乙個必要的需求。該功能最初是由ie6提出的,目前已被各大瀏覽器所支援。html5 最終也把 compatmode 屬性的實現標準化了。
基於document.compatmode屬性,判斷瀏覽器當前處於什麼渲染模式:
//判斷瀏覽器當前處於什麼渲染模式
if(document.compatmode ==
"css1compat"
)else
注:該屬性 ie瀏覽器 最低相容到 ie6 標準模式和混雜模式
那麼,問題來了,什麼情況下頁面會處於混雜模式呢?下面是列出的幾種 1 不寫 2 前面加上xml宣告 ie6 3 和之間加了 標籤 文字 注釋 ie8以下都有,ie9以上未測 4 前面有 標籤 文字 注釋 ie8以下都有,ie9以上未測 1和4是比較常見的,可能還有其他情況,還沒有遇到過具體的例子。我...
標準模式與混雜模式
主要是盒模型的區別,導致各種各樣的與標準模式有差異的表現形式。當瀏覽器廠商開始建立與標準相容的瀏覽器時,他們希望確保向後相容性。為了實現這一點,他們建立了兩種呈現模式 標準模式和混雜模式。在標準模式下瀏覽器按照規範呈現頁面 在混雜模式下,頁面以一種比較寬鬆的向後相容的方式顯示。混雜模式通常模擬老式瀏...
標準模式與混雜模式
doctype 的乙個重要作用就是告訴瀏覽器,它該以何種模式呈現。我們通過document.compatmode這個屬性來檢測,當前頁面處於何種模式 css1compat 標準模式 backcompat 混雜模式 那麼,問題來了,什麼情況下頁面會處於混雜模式呢?下面是列出的幾種 1 不寫 2 前面加...