首頁 > web前端 > css教學 > 主體

非常不錯的關於IE與FireFox的js和css幾處不同點[轉自星火燎原]_經驗交流

WBOY
發布: 2016-05-16 12:07:23
原創
1154 人瀏覽過

在藍色上看到這篇文章的,感覺作者總結的不錯,至少有些偶自己也沒有真正的認知過。這些 東西的確是應該好好總結一下的,可惜偶這人比較懶,收藏整理於此,方便自己學習!

1.firefox不能支援innerText。
firefox支援innerHTML但不支援innerText,它支援textContent來實作innerText,不過預設把多餘的空格也保留了。如果不用textContent,如果字串裡面不包含HTML程式碼也可以用innerHTML取代。
2.禁止選取網頁內容:
在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. 取得滑鼠位置:RRONGJS. :event.clientX、event.clientY
firefox:需要事件函數傳遞事件物件
    obj.onmousemove=function(ev){
     

6.DIV等元素的邊界問題:
例如:設定一個div的CSS::{width:100px;height:100px;border:#000000 1px solid; }
IE中:div的寬度(包括邊框寬度):100px,div的高度(包括邊框寬度):100px;
而firefox:div的寬度(包括邊框寬度):102px,div的高度(包括邊框寬度): 102px;


所以在做這個兼容IE和firefox的拖曳視窗時,在js和css的寫法上要動點腦筋,給大家兩個小技巧

一.判斷瀏覽器類型:
var isIE=document.all? true:false;
我寫了一個變量,如果支援document.all語法那麼isIE=true,否則isIE=false
二.在不同瀏覽器下的CSS處理:
一般可以用!important來優先使用css語句(僅firefox支援)
例如:{border-width:0px!important;border- width:1px;}
在firefox下這個元素是沒有邊框的,在IE下邊框寬度是1px


幾處XHTML與正常狀態下的JS、CSS的區別

在網頁開頭加了這個程式碼就是所謂的XHTML標準了html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1 /DTD/xhtml1-transitional.dtd">

XHTML標準下的幾個不同點:
1.document.documentElement 與 document.body
程式碼中設定頁面的CSS時一定要用:document.documentElement 
例如:document.documentElement.style.overflow='hidden';
overflow-X、overflow-Y 這兩個分座標屬性XHTML是不支援的;

2 .在取得網頁視窗區域和取得捲軸位移距離時也要用document.documentElement 
即這四個屬性(clientWidth、clientHeight、scrollLeft、scrollTop)一定要用document.documentElement 
但是document.body. appendChild()和document.body.removeChild()卻是可以用的,而且用document.documentElement.appendChild()和document.documentElement.removeChild()代替卻會報錯;

總結一下僅 clientWidth、 clientHeight、scrollLeft、scrollTop和document.documentElement.style時才用document.documentElement

3.加了這個標準以後IE的邊框問題也出現了變化,現在和firefox趨於一致了,是不是這個就是XHTML的優點-跨瀏覽器的標準
上面提到:
設定一個div的CSS::{width:100px;height:100px;border:#000000 1px solid;}
IE中(正常情況):div的寬度(包括邊框寬度):100px,div的高度(包括邊框寬度): 100px;
firefox(正常)::div的寬度(包括邊框寬度):102px,div的高度(包括邊框寬度):102px;

加了XHTML標準後的(IE和firefox打和了,^_^):
IE中(XHTML):div的寬度(包括邊框寬度):102px,div的高度(包括邊框寬度):102px;
firefox(XHTML)::div的寬度(包括邊框寬度):102px,div的高度(包括邊框寬度):102px;

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板