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

2021-09-05 11:00:24 字數 3113 閱讀 4633

1瀏覽器相容問題一:不同瀏覽器的標籤預設的margin和padding不同

問題症狀:隨便寫幾個標籤,不加樣式控制的情況下,各自的margin 和padding差異較大。

碰到頻率:100%

解決方案一

可以使用normalize.css來清除預設樣式

解決方案二:也可以使用如下**

body,h1,h2,h3,ul,li,input,div,span,a,form ……

解決方案三:使用萬用字元設定

*2.瀏覽器相容問題二

我們常用的div布局,div是塊級元素,橫向布局的時候我們通常都是用div float實現的,橫向的間距設定如果用margin實現,這就是乙個必然會碰到的相容性問題: 在ie6顯示margin比設定的大,常見症狀是ie6中後面的一塊被頂到下一行。

碰到頻率:90%(稍微複雜點的頁面都會碰到,float布局最常見的瀏覽器相容問題)

解決方案:在float的標籤樣式控制中加入 display:inline;將其轉化為行內屬性

3.瀏覽器相容問題三

元素的高度設定若小於10px的話,ie6、ie7這個標籤的高度不受控制,超出自己設定的高度

碰到頻率:60%

問題出現的原因:ie8之前的瀏覽器都會給標籤乙個最小預設的行高的高度。即使你的標籤是空的,這個標籤的高度還是會達到預設的行高。

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

4.瀏覽器相容問題四:行內屬性標籤,設定display:block後採用float布局,又有橫行的margin的情況,ie6間距bug

碰到頻率:20%

問題出現的原因:行內屬性標籤,為了設定寬高,我們需要設定display:block;(除了input標籤比較特殊)。在用float布局並有橫向的margin後,在ie6下,他就具有了塊屬性float後的橫向margin的bug。不過因為它本身就是行內屬性標籤,所以我們再加上display:inline的話,它的高寬就不可設了。這時候我們還需要在display:inline後面加入display:talbe。

解決方案:新增兩句話display:inline;display:talbe;

5.瀏覽器相容問題五:幾個img標籤放在一起的時候,預設有間距,使用萬用字元設定margin,padding為零也不能解決此問題。

碰到頻率:20%

問題出現的原因:部分瀏覽器的img標籤之間會有個間距

解決方案:使用float屬性為img布局。使用負margin,雖然能解決,但負margin本身就是容易引起瀏覽器相容問題的用法,故不推薦此方法。

6.瀏覽器相容問題六:標籤最低高度設定min-height不相容問題

碰到頻率:5%

問題出現的原因:。當內容小於乙個值(如300px)時。容器的高度為300px;當內容高度大於這個值時,容器高度被撐高,而不是出現滾動條。這時候我們就會面臨這個相容性問題

解決方案:如果我們要設定乙個標籤的最小高度200px,需要進行的設定為:

7.瀏覽器相容問題七:標籤最低高度設定min-height不相容問題

碰到頻率:5%

問題出現的原因:。當內容小於乙個值(如300px)時。容器的高度為300px;當內容高度大於這個值時,容器高度被撐高,而不是出現滾動條。這時候我們就會面臨這個相容性問題

解決方案:如果我們要設定乙個標籤的最小高度200px,需要進行的設定為:

8.瀏覽器相容問題八:透明度屬性

問題出現的原因:針對ie瀏覽器

解決方案:ie瀏覽器:filter:alpha(opacity=value);(取值範圍1–100),相容其他瀏覽器:opacity:value;(取值範圍0–1)

alpha:設定透明度

alpha(opacity=?, finishopacity=?, style=?, startx=?, starty=?, finishx=?, finishy=?)

opacity:透明度級別,範圍是0-100,0代表完全透明,100代表完全不透明。

finishopacity:設定漸變的透明效果時,用來指定結束時的透明度,範圍也是0 到 100。

style:設定漸變透明的樣式,值為0代表統一形狀、1代表線形、2代表放射狀、3代表長方形。

startx和starty:代表漸變透明效果的開始x和y座標。

finishx和finishy:代表漸變透明效果結束x和y 的座標。

9.瀏覽器相容問題九:按鈕預設大小不一

解決方案

1)用a標籤來模擬按鈕,新增樣式;

2)如果按鈕是一張背景,那麼直接給按鈕新增背景圖;

10.瀏覽器相容

解決方案:hacker解決不相容問題

ie6認識的hacker 是下劃線_ 和星號 *

ie7 認識的hacker是星號 *

所有瀏覽器 通用

height: 100px;

ie6 專用

_height: 100px;

ie6 專用

*height: 100px;

ie7 專用

*+height: 100px;

常見瀏覽器相容性問題

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

常見的瀏覽器相容性問題

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

瀏覽器常見的相容性問題

1.瀏覽器相容問題一 不同瀏覽器的標籤預設的margin和padding不同。解決辦法 2.瀏覽器相容問題二 ie6雙邊距 bug,塊屬性標籤 float 後,又有橫行的 margin 情況下,在 ie6顯示 margin 比設定的大。3.瀏覽器相容問題三 設定較小高度標籤 一般小於 10px 在i...