一:css相容性問題
1:通常我們寫**在css開始的時候就會寫
*其主要原因就是不同瀏覽器對標籤不加樣式控制的情況下,各自的margin 和padding差異較大,這就會造成差異;
解決方案:css 裡面加上上述** (萬用字元*來設定各個標籤的內外補丁是0)。
2:塊元素 設定float後,有margin情況下,本來在一行的東西,最後乙個元素被擠到下一行;
主要原因:布局用div+css布局的話,div設定float,橫向距離用margin設定的話,ie6顯示margin比設定的大,所以就會被擠到下一行;
解決方案:在float的標籤樣式控制中加入 display:inline;將其轉化為行內屬性
主要原因:mg標籤放在一起的時候,有些瀏覽器會有預設的間距,萬用字元也不起作用。
解決方案:給img加上float屬性;你建議用margin設定為負數解決為題,因為margin本身也有相容性問題
4:行元素 設定display:block;又設定float屬性,會出現上述問題2的問題;
解決方案:在display:block;後面加入display:inline;display:table;
5:透明度的問題
一句話搞定背景透明:
.op_class
通常我們會看到有這樣的寫法: !important;!important這個屬性ie不能識別,但別的瀏覽器可以識別
例如火狐(ff) 設定 padding 後, div 會增加 height 和 width, 但 ie 不會, 故需要用 !important 多設乙個 height 和 width ;
注意寫的先後順序不能顛倒;
寫法:div
二:js常見的相容性問題;
1:event = event || window.event;
問題原因:window.event只能在ie下使用,不能在火狐下使用,火狐使用event
例如:在瀏覽器上獲取滑鼠的位置:
獲得滑鼠點選橫座標
上述這樣寫只能在ie下獲取到滑鼠的位置,想要在所有瀏覽器中獲取到位置需改成:
獲得outerhtml
2:獲取html物件的問題:
firefox獲取方式document.getelementbyid("idname")
ie使用document.idname或者document.getelementbyid("idname")
解決辦法:統一使用document.getelementbyid("idname");
3:innertext的問題
innertext在ie中能正常工作,但是innertext在firefox中卻不行,需用textcontent;
解決辦法:做個瀏覽器識別寫個相容性寫法
if
"explorer"
) > -1)
else
4:ajax獲取xmlhttp的區別
注意:在ie中,xmlhttp.send(content)方法的content可以為空,而firefox則不能為null,應該用send(""),否則會出現411錯誤。
關於相容性問題是沒完沒了的,還是要有bug的處理能力才行,因為你永遠不會知道你會碰到什麼問題;
瀏覽器相容性問題
苦惱的區別 1.image repeat 在火狐裡比較正常,可是在ie中一直repeat.背景是乙個關閉的x號,div設定的backgourn image url xx 結果在ie中卻不行,最後找到原因是ie中要顯式的寫上image repeat norepeat這屬性,還有好多的差異,明天 去了 ...
瀏覽器相容性問題
瀏覽器相容問題一 不同瀏覽器的標籤預設的外補丁和內補丁不同 問題症狀 隨便寫幾個標籤,不加樣式控制的情況下,各自的margin 和padding差異較大。碰到頻率 100 解決方案 css裡 備註 這個是最常見的也是最易解決的乙個瀏覽器相容性問題,幾乎所有的css檔案開頭都會用萬用字元 來設定各個標...
瀏覽器相容性問題
解決方案 應該用ie8相容模式瀏覽網頁,而不應該用ie9或ie10渲染模式.很多使用者安裝ie10後發生很多網頁顯示錯亂,就是相容性的原因,因為ie10預設的渲染模式是ie10.此時應該將其改為ie7渲染模式。為什麼用ie6 7渲染模式的原因如下 中國所有網頁肯定都支援ie,支援ie就是支援ie核心...