非常不錯(cuò)的關(guān)于IE與FireFox的js和css幾處不同點(diǎn)[轉(zhuǎn)自星火燎原]
更新時(shí)間:2007年09月09日 17:14:03 作者:
在藍(lán)色上看到這篇文章的,感覺(jué)作者總結(jié)的不錯(cuò),至少有些偶自己也沒(méi)有真正的認(rèn)識(shí)過(guò)。這些 東西的確是應(yīng)該好好總結(jié)一下的,可惜偶這人比較懶,收藏整理于此,便于自己學(xué)習(xí)!
1.firefox不能對(duì)innerText支持。
firefox支持innerHTML但卻不支持innerText,它支持textContent來(lái)實(shí)現(xiàn)innerText,不過(guò)默認(rèn)把多余的空格也保留了。如果不用textContent,如果字符串里面不包含HTML代碼也可以用innerHTML代替。
2.禁止選取網(wǎng)頁(yè)內(nèi)容:
在IE中一般用js:obj.onselectstart=function(){return false;}
而firefox用CSS:-moz-user-select:none
3.濾鏡的支持(例:透明濾鏡):
IE:filter:alpha(opacity=10);
firefox:-moz-opacity:.10;
4.捕獲事件:
IE:obj.setCapture() 、obj.releaseCapture()
Firefox: document.addEventListener("mousemove",mousemovefunction,true);
document.removeEventListener("mousemove",mousemovefunction,true);
5.獲取鼠標(biāo)位置:
IE:event.clientX、event.clientY
firefox:需要事件函數(shù)傳遞事件對(duì)象
obj.onmousemove=function(ev){
X= ev.pageX;Y=ev.pageY;
}
6.DIV等元素的邊界問(wèn)題:
比如:設(shè)置一個(gè)div的CSS::{width:100px;height:100px;border:#000000 1px solid;}
IE中:div的寬度(包括邊框?qū)挾龋?00px,div的高度(包括邊框?qū)挾龋?00px;
而firefox:div的寬度(包括邊框?qū)挾龋?02px,div的高度(包括邊框?qū)挾龋?02px;
所以在做這個(gè)兼容IE和firefox的拖動(dòng)窗口時(shí),在js和css的寫(xiě)法上要?jiǎng)狱c(diǎn)腦筋,給大家兩個(gè)小技巧
一.判斷瀏覽器類(lèi)型:
var isIE=document.all? true:false;
我寫(xiě)了一個(gè)變量,如果支持document.all語(yǔ)法那么isIE=true,否則isIE=false
二.在不同瀏覽器下的CSS處理:
一般可以用!important來(lái)優(yōu)先使用css語(yǔ)句(僅firefox支持)
比如:{border-width:0px!important;border-width:1px;}
在firefox下這個(gè)元素是沒(méi)有邊框的,在IE下邊框?qū)挾仁?px
幾處XHTML與正常狀態(tài)下的JS、CSS的區(qū)別
在網(wǎng)頁(yè)開(kāi)頭加了這個(gè)代碼就是所謂的XHTML標(biāo)準(zhǔn)了<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML標(biāo)準(zhǔn)下的幾個(gè)不同點(diǎn):
1.document.documentElement 與 document.body
代碼中設(shè)置頁(yè)面的CSS時(shí)一定要用:document.documentElement
比如:document.documentElement.style.overflow='hidden';
overflow-X、overflow-Y 這兩個(gè)分坐標(biāo)屬性XHTML是不支持的;
2.在取得網(wǎng)頁(yè)窗口區(qū)域和獲取滾動(dòng)條位移距離時(shí)也要用document.documentElement
即這四個(gè)屬性(clientWidth、clientHeight、scrollLeft、scrollTop)一定要用document.documentElement
但是document.body.appendChild()和document.body.removeChild()卻是可以用的,而且用document.documentElement.appendChild()和document.documentElement.removeChild()代替卻會(huì)報(bào)錯(cuò);
總結(jié)一下僅clientWidth、clientHeight、scrollLeft、scrollTop和document.documentElement.style時(shí)才用document.documentElement
3.加了這個(gè)標(biāo)準(zhǔn)以后IE的邊框問(wèn)題也出現(xiàn)了變化,現(xiàn)在和firefox趨于一致了,是不是這個(gè)就是XHTML的優(yōu)點(diǎn)——跨瀏覽器的標(biāo)準(zhǔn)
上面提到:
設(shè)置一個(gè)div的CSS::{width:100px;height:100px;border:#000000 1px solid;}
IE中(正常情況):div的寬度(包括邊框?qū)挾龋?00px,div的高度(包括邊框?qū)挾龋?00px;
firefox(正常情況)::div的寬度(包括邊框?qū)挾龋?02px,div的高度(包括邊框?qū)挾龋?02px;
加了XHTML標(biāo)準(zhǔn)后的(IE和firefox打和了,^_^):
IE中(XHTML):div的寬度(包括邊框?qū)挾龋?02px,div的高度(包括邊框?qū)挾龋?02px;
firefox(XHTML)::div的寬度(包括邊框?qū)挾龋?02px,div的高度(包括邊框?qū)挾龋?02px;
1.firefox不能對(duì)innerText支持。
firefox支持innerHTML但卻不支持innerText,它支持textContent來(lái)實(shí)現(xiàn)innerText,不過(guò)默認(rèn)把多余的空格也保留了。如果不用textContent,如果字符串里面不包含HTML代碼也可以用innerHTML代替。
2.禁止選取網(wǎng)頁(yè)內(nèi)容:
在IE中一般用js:obj.onselectstart=function(){return false;}
而firefox用CSS:-moz-user-select:none
3.濾鏡的支持(例:透明濾鏡):
IE:filter:alpha(opacity=10);
firefox:-moz-opacity:.10;
4.捕獲事件:
IE:obj.setCapture() 、obj.releaseCapture()
Firefox: document.addEventListener("mousemove",mousemovefunction,true);
document.removeEventListener("mousemove",mousemovefunction,true);
5.獲取鼠標(biāo)位置:
IE:event.clientX、event.clientY
firefox:需要事件函數(shù)傳遞事件對(duì)象
obj.onmousemove=function(ev){
X= ev.pageX;Y=ev.pageY;
}
6.DIV等元素的邊界問(wèn)題:
比如:設(shè)置一個(gè)div的CSS::{width:100px;height:100px;border:#000000 1px solid;}
IE中:div的寬度(包括邊框?qū)挾龋?00px,div的高度(包括邊框?qū)挾龋?00px;
而firefox:div的寬度(包括邊框?qū)挾龋?02px,div的高度(包括邊框?qū)挾龋?02px;
所以在做這個(gè)兼容IE和firefox的拖動(dòng)窗口時(shí),在js和css的寫(xiě)法上要?jiǎng)狱c(diǎn)腦筋,給大家兩個(gè)小技巧
一.判斷瀏覽器類(lèi)型:
var isIE=document.all? true:false;
我寫(xiě)了一個(gè)變量,如果支持document.all語(yǔ)法那么isIE=true,否則isIE=false
二.在不同瀏覽器下的CSS處理:
一般可以用!important來(lái)優(yōu)先使用css語(yǔ)句(僅firefox支持)
比如:{border-width:0px!important;border-width:1px;}
在firefox下這個(gè)元素是沒(méi)有邊框的,在IE下邊框?qū)挾仁?px
幾處XHTML與正常狀態(tài)下的JS、CSS的區(qū)別
在網(wǎng)頁(yè)開(kāi)頭加了這個(gè)代碼就是所謂的XHTML標(biāo)準(zhǔn)了<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML標(biāo)準(zhǔn)下的幾個(gè)不同點(diǎn):
1.document.documentElement 與 document.body
代碼中設(shè)置頁(yè)面的CSS時(shí)一定要用:document.documentElement
比如:document.documentElement.style.overflow='hidden';
overflow-X、overflow-Y 這兩個(gè)分坐標(biāo)屬性XHTML是不支持的;
2.在取得網(wǎng)頁(yè)窗口區(qū)域和獲取滾動(dòng)條位移距離時(shí)也要用document.documentElement
即這四個(gè)屬性(clientWidth、clientHeight、scrollLeft、scrollTop)一定要用document.documentElement
但是document.body.appendChild()和document.body.removeChild()卻是可以用的,而且用document.documentElement.appendChild()和document.documentElement.removeChild()代替卻會(huì)報(bào)錯(cuò);
總結(jié)一下僅clientWidth、clientHeight、scrollLeft、scrollTop和document.documentElement.style時(shí)才用document.documentElement
3.加了這個(gè)標(biāo)準(zhǔn)以后IE的邊框問(wèn)題也出現(xiàn)了變化,現(xiàn)在和firefox趨于一致了,是不是這個(gè)就是XHTML的優(yōu)點(diǎn)——跨瀏覽器的標(biāo)準(zhǔn)
上面提到:
設(shè)置一個(gè)div的CSS::{width:100px;height:100px;border:#000000 1px solid;}
IE中(正常情況):div的寬度(包括邊框?qū)挾龋?00px,div的高度(包括邊框?qū)挾龋?00px;
firefox(正常情況)::div的寬度(包括邊框?qū)挾龋?02px,div的高度(包括邊框?qū)挾龋?02px;
加了XHTML標(biāo)準(zhǔn)后的(IE和firefox打和了,^_^):
IE中(XHTML):div的寬度(包括邊框?qū)挾龋?02px,div的高度(包括邊框?qū)挾龋?02px;
firefox(XHTML)::div的寬度(包括邊框?qū)挾龋?02px,div的高度(包括邊框?qū)挾龋?02px;
相關(guān)文章
解決IE升級(jí)后Flash線(xiàn)框問(wèn)題
解決IE升級(jí)后Flash線(xiàn)框問(wèn)題...2007-01-01CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效
本文主要分享一個(gè)利用CSS3新特性transform,實(shí)現(xiàn)3D翻牌的特效,有需要的小伙伴可以參考下。2016-05-05用css來(lái)控制圖片大小顯示的實(shí)現(xiàn)方法與代碼
用css來(lái)控制圖片大小顯示的實(shí)現(xiàn)方法與代碼...2007-03-03web標(biāo)準(zhǔn)常見(jiàn)問(wèn)題集合4
web標(biāo)準(zhǔn)常見(jiàn)問(wèn)題集合4...2006-12-12