前端瀏覽器相容性問題和解決辦法

2021-10-06 13:11:47 字數 2722 閱讀 5556

解決方案: css 裡增加萬用字元 *
解決方案:在float的標籤樣式控制中加入 display:inline;將其轉化為行內屬性
解決方案:

1.給表單元素新增float:left(左浮動);

2.或者是vertical-align:middle;(垂直對齊方式:居中)

描述:cursor:hand;只有ie瀏覽器識別,其他瀏覽器不識別

解決方案:cursor:pointer;ie6以上瀏覽器及其他核心瀏覽器都識別;

描述:給上邊元素設定了margin-bottom,給下邊元素設定了margin-top,瀏覽器只會識別較大值;

解決方案:margin-top和margin-bottom中選擇乙個,只設定其中乙個值;

解決方案:針對ie瀏覽器:filter:alpha(opacity=value);(取值範圍1--100)

相容其他瀏覽器:opacity:value;(取值範圍0--1)

說明:firefox下,可以使用const關鍵字或var關鍵字來定義常量;

ie下,只能使用var關鍵字來定義常量.

解決方法:統一使用var關鍵字來定義常量.

問題說明:ie下,event物件有srcelement屬性,但是沒有target屬性;firefox下,even物件有target屬性,但是沒有srcelement屬性。

解決方法:使用srcobj =event.srcelement ?event.srcelement : event.target;

ie:dom.attachevent();

其他瀏覽器:dom.addeventlistener();

標準瀏覽器採用事件捕獲的方式對應ie的事件冒泡機制(即標準由最外元素至最內元素或者ie由最內元素到最外元素)最後標準方亦覺得ie這方面的比較合理,所以便將事件冒泡納入了標準,這也是addeventlistener第三個引數的由來,而且事件冒泡作為了預設值。

封裝相容性的 addevent(elem, type, handle);方法

function addevent(elem,type,handle)else if(elem.attachevent))

}else

}

在ie9以下,不能操作tr的innerhtml
if (window.xmlhttprequest)  else
需用textcontent。

解決方法:

document.getelementbyid('element').innertext = "my text";

} else

在ie7和firefox中width寬度不包括padding,在ie6中包括padding.
box.style 

ie理解為box.width =100

ff理解為box.width =100 + 1*2 = 102 //加上邊框2px

firefox: margin:0auto;

ie: 父級

加上vertical-align:middle;經驗證,在ie下任一版本都不適用,而ff、opera、safari、chrome均ok!
此技巧適用與ie、opera、safari、chrom瀏覽器,ff暫不支援。
解決辦法是將body換成html

問題描述:靠近浮動元素的元素要麼有3px的間距,要麼位置偏下
解決方式:border:none;
解決方式:font-size:0;overflow:hidden;
var clientwidth = document.documentelement.clientwidth || document.body.clientwidth;

var clientheight = document.documentelement.clientheight || document.body.clientheight;

// 備註:event是事件函式的引數。

const event = event || window.event;

const target = event.srcelement || event.target;

// 請注意:下方的處理都預設event已經按照上面的寫法相容過衍生的

// 阻止事件冒泡和瀏覽器預設行為

event.preventdefault

? event.preventdefault()

: event.returnvalue = false;

// 只阻止事件冒泡

event.stoppropagation

? event.stoppropagation();

: event.cancelbubble = true;

前端常見瀏覽器相容性問題及解決辦法

不同瀏覽器的核心也不盡相同,所以各個瀏覽器對網頁的解析存在一定的差異。1.不同瀏覽器的標籤預設的外補丁和內補丁不同 2.塊屬性標籤float後,又有橫行的margin情況下,在ie6顯示margin比設定的大 style3.設定較小高度標籤 一般小於10px 在ie6,ie7,遨遊中高度超出自己設定...

瀏覽器的相容性問題,以及解決辦法

相容性 相容性 瀏覽器相容問題和適配問題統稱為相容性問題 解決辦法 1.hack語法,控制解決辦法 eg 說明 2.常規 直接解決辦法 ie5 ie6低版本相容性問題 1.雙倍外邊距問題 問題描述 當乙個div給出浮動之後,給出左邊距時。在ie5 ie6上邊距會大2倍。解決辦法 加屬性display...

前端瀏覽器相容性問題

在前端開發的過程中我們不可避免的會遇到瀏覽器相容性問題,這也是我們必須要解決的問題。首先來了解一下為什麼存在瀏覽器相容性問題。現在的市場上有很多種類的瀏覽器,不同種類的瀏覽器的核心也不盡相同,所以不同瀏覽器對 的解析會存在差異,這就導致對頁面渲染效果不統一的問題。市場上常見的瀏覽器核心主要有四種 w...