document.compatMode的CSS1compat使用介紹
更新時間:2014年04月03日 09:16:50 作者:
這篇文章主要介紹了document.compatMode的CSS1compat使用,需要的朋友可以參考下
document.compatMode
BackCompat:標準兼容模式關閉。瀏覽器寬度:document.body.clientWidth;
CSS1Compat:標準兼容模式開啟。 瀏覽器寬度:document.documentElement.clientWidth。
var d = document,
dd = d.documentElement,
db = d.body,
dc = d.compatMode == 'CSS1Compat',
dx = dc ? dd: db;
cWidth = dx.clientWidth;
cHeight = dx.clientHeight;
sWidth = dx.scrollWidth;
sHeight = dx.scrollHeight;
sLeft = dx.scrollLeft;
sTop = dx.scrollTop;
在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中如何判斷當前瀏覽器正在以何種方式解析?
document對象有個屬性compatMode ,它有兩個值:
BackCompat 對應quirks mode
CSS1Compat 對應strict mode
瀏覽器的兼容性表
http://www.quirksmode.org/compatibility.html
歷史原因:
當早期的瀏覽器Netscape 4和Explorer 4對css進行解析時,并未遵守W3C標準,這時的解析方式就被我們稱之為quirks mode(怪異模式),但隨著W3C的標準越來越重要,眾多的瀏覽器開始依照W3C標準解析CSS,仿照W3C標準解析CSS的模式我們叫做strict mode(嚴格模式)
firefly
BackCompat:標準兼容模式關閉。瀏覽器寬度:document.body.clientWidth;
CSS1Compat:標準兼容模式開啟。 瀏覽器寬度:document.documentElement.clientWidth。
復制代碼 代碼如下:
var d = document,
dd = d.documentElement,
db = d.body,
dc = d.compatMode == 'CSS1Compat',
dx = dc ? dd: db;
cWidth = dx.clientWidth;
cHeight = dx.clientHeight;
sWidth = dx.scrollWidth;
sHeight = dx.scrollHeight;
sLeft = dx.scrollLeft;
sTop = dx.scrollTop;
在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中如何判斷當前瀏覽器正在以何種方式解析?
document對象有個屬性compatMode ,它有兩個值:
BackCompat 對應quirks mode
CSS1Compat 對應strict mode
瀏覽器的兼容性表
http://www.quirksmode.org/compatibility.html
歷史原因:
當早期的瀏覽器Netscape 4和Explorer 4對css進行解析時,并未遵守W3C標準,這時的解析方式就被我們稱之為quirks mode(怪異模式),但隨著W3C的標準越來越重要,眾多的瀏覽器開始依照W3C標準解析CSS,仿照W3C標準解析CSS的模式我們叫做strict mode(嚴格模式)
firefly