前端常見的瀏覽器相容性問題及解決方案

2021-08-25 19:23:32 字數 1362 閱讀 6726

市場上瀏覽器種類很多,不同瀏覽器的核心也不盡相同,所以各個瀏覽器對網頁的解析存在一定的差異。

瀏覽器核心主要分為兩種,一是渲染引擎,另乙個是js 引擎,核心更加傾向於說渲染引擎。

常見的瀏覽器核心:

常見的瀏覽器核心可以分四種:trident、gecko、blink、webkit

ie瀏覽器

trident核心,也成為ie核心

chrome瀏覽器

webkit核心,現在是blink核心

firefox瀏覽器

gecko核心,俗稱firefox核心

safari瀏覽器

webkit核心

opera瀏覽器

最初是自己的presto核心,後來加入谷歌大軍,從webkit又到了blink核心;

360瀏覽器

ie+chrome雙核心

獵豹瀏覽器

ie+chrome雙核心

ie核心

qq瀏覽器

trident(相容模式)+webkit(高速模式)

常見的相容性問題:

1、不同瀏覽器的標籤預設的外補丁( margin )和內補丁(padding)不同

解決方案: css 裡增加萬用字元 *

2、ie6雙邊距問題;在 ie6中設定了float , 同時又設定margin , 就會出現邊距問題

解決方案:設定display:inline;

3、當標籤的高度設定小於10px,在ie6、ie7中會超出自己設定的高度

解決方案:超出高度的標籤設定overflow:hidden,或者設定line-height的值小於你的設定高度

4、預設有間距

解決方案:使用float 為img 布局

5、ie9一下瀏覽器不能使用opacity

解決方案:

opacity: 0.5;filter: alpha(opacity = 50);filter: progid:dximagetransform.microsoft.alpha(style = 0, opacity = 50);

6、邊距重疊問題;當相鄰兩個元素都設定了margin 邊距時,margin 將取最大值,捨棄最小值;

解決方案:為了不讓邊重疊,可以給子元素增加乙個父級元素,並設定父級元素為overflow:hidden;

7、cursor:hand 顯示手型在safari 上不支援

解決方案:統一使用 cursor:pointer

8、兩個塊級元素,父元素設定了overflow:auto;子元素設定了position:relative ;且高度大於父元素,在ie6、ie7會被隱藏而不是溢位;

解決方案:父級元素設定position:relative

前端瀏覽器相容性問題

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

常見瀏覽器相容性問題

概念 不同的瀏覽器對同一段 解析不同造成瀏覽器顯示效果不同,我們把這樣的問題叫做瀏覽器相容性問題 描述 塊元素float後,又設定了橫向的margin值,在ie6下顯示的margin值比設定的值要大,並且是2倍關係 解決方案 給float的塊元素新增display inline 解決方案 a 給表單...

常見的瀏覽器相容性問題

1.就是ie6雙倍邊距的問題,在使用了float的情況下,不管是向左還是向右都會出現雙倍,最簡單的解決方法就是用display inline 加到 css裡面去。2.文字本身的大小不相容。同樣是font size 14px的宋體文字,在不同瀏覽器下佔的空間是不一樣的,ie下實際佔高16px,下留白3...