常見瀏覽器相容問題與解決方案

2021-08-08 08:38:33 字數 1849 閱讀 4729

1. 瀏覽器相容問題一:不同瀏覽器的標籤預設的外邊距和內邊距不同

(1) 問題症狀:在瀏覽器中隨便寫幾個標籤,在不加css樣式控制的情況下,各自的margin和padding差異較大。

(2) 解決方案:css中新增 *

(3) 備註:這是最常見也是最容易解決的乙個瀏覽器相容問題,幾乎所有的css檔案開頭都會新增 *;

2. 瀏覽器相容問題二:塊級元素float後,又有橫行margin的情況下,在ie6顯示margin比設定的大

(1) 問題症狀:在ie6中,後面的一塊會被擠到下一行。

(2) 解決方案:在float的元素的css樣式中,加入display:inline將其轉化為行內屬性。

(3) 備註:這是比較常用的div+css布局,div是乙個典型的塊級元素,橫向布局時使用div float來實現,橫向的間距如果用margin實現,就會出現瀏覽器的相容問題。

3. 瀏覽器相容問題三:設定較小高度的元素(一般小於10px),在ie6,ie7中高度超出自己設定的高度

(1) 問題症狀:在ie6,ie7中,這個元素的高度不受控制,超出自己設定的高度。

(2) 解決方案:給超出高度的元素設定overflow:hidden,或者設定line-height:(小於自己設定的高度)。

(3) 這個問題出現的原因是:這種問題一般出現在設定小圓角背景的元素裡。在ie8之前的瀏覽器中,都會給元素設定乙個最小預設的行高的高度。即使這個元素是空的,這個元素的高度還是會達到預設的行高。

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

(1) 問題症狀:ie6的間距超過自己設定的間距。

(2) 解決方案:在display:block後繼續新增css樣式,display:inline;display:table。

(3) 備註:行內屬性標籤,為了設定寬高,我們需要設定display:block。在採用float布局並有橫向的margin後,在ie6下,就具有了瀏覽器相容問題二。不過因為本身是行內元素,加上display:inline後,高度就不可設了。然後就需要在display:inline後加入display:table。

5. 瀏覽器相容問題五:預設有邊距

(1) 問題症狀:幾個img標籤放在一起時,有些瀏覽器會有預設的邊距,在css中新增*仍然無用。

(2) 解決方案:使用float屬性為img布局。

(3) img標籤是行內屬性標籤,所以只要不超出容器寬度,img標籤都會排成一列,但是部分瀏覽器會存在img標籤之間有間距,所以使用float屬性。(其實,使用父margin也能解決,但負margin本身就容易引起瀏覽器相容問題,所以不推薦使用。)

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

(1) 問題症狀:min-height本身就是乙個不相容的css屬性,所以設定min-height會出現瀏覽器相容問題。

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

(2) 在b/s系統前端開發時,會出現這種需求。當內容小於乙個值(如300px)時,容器的高度為300px;當內容高度大於這個值時,容器高度被撐高,而不是出現滾動條。

7. 瀏覽器相容問題七:css樣式的透明度設定

在ie中使用:filter:alpha(opacity:0);來設定元素的透明度;

在firefox中,直接使用opacity:0;

解決相容性問題,就是在css樣式中將2個樣式都寫上。

常見瀏覽器相容問題與解決方案

所謂的瀏覽器相容性問題,是指因為不同的瀏覽器對同一段 有不同的解析,造成頁面顯示效果不統一的情況。在大多數情況下,我們的需求是,無論使用者用什麼瀏覽器來檢視我們的 或者登陸我們的系統,都應該是統一的顯示效果。所以瀏覽器的相容性問題是前端開發人員經常會碰到和必須要解決的問題。在學習瀏覽器相容性之前,我...

常見的瀏覽器相容問題and解決方案

瀏覽器相容問題一 不同瀏覽器的標籤預設的外補丁和內補丁不同 問題症狀 隨便寫幾個標籤,不加樣式控制的情況下,各自的margin 和padding差異較大。碰到頻率 100 解決方案 css裡 備註 這個是最常見的也是最易解決的乙個瀏覽器相容性問題,幾乎所有的css檔案開頭都會用萬用字元 來設定各個標...

瀏覽器常見相容問題及解決方案一

瀏覽器相容問題一 不同瀏覽器的標籤預設的外補丁和內補丁不同 問題症狀 隨便寫幾個標籤,不加樣式控制的情況下,各自的margin 和padding差異較大。碰到頻率 100 解決方案 css裡 備註 這個是最常見的也是最易解決的乙個瀏覽器相容性問題,幾乎所有的css檔案開頭都會用萬用字元 來設定各個標...