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

2021-06-21 08:27:38 字數 2651 閱讀 7156

一、不同瀏覽器的標籤預設的外邊界和內填充不同

問題表現:不加樣式控制下,margin和padding差異較大

出現概率:100%

解決方案:css裡 *

備註:這是最常見也是最易解決的乙個相容問題,幾乎所有的css檔案開頭都會用萬用字元*來設定各個標籤外邊界和內填充為0

二、塊屬性標籤float後,又有橫向的margin情況下,在ie6顯示margin比設定的大

出現概率:90%(浮動布局最常見的相容問題)

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

備註:橫向浮動的div布局,使用上margin進行邊界設定時,必然會碰到此問題

三、設定較小高度標籤(一般小於10px),在ie6、ie7,遨遊中高度超出設定高度值

問題表現:ie6、7和遨遊裡這個標籤的高度不受控制,超出自己設定的高度

出現概率:60%

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

備註:一般出現在設定小圓角背景的標籤裡。出現該問題原因是ie8之前的瀏覽器都會給標籤乙個最小預設行高的高度,即使標籤是空內容,標籤的高度還是會有預設行高。

四、行內屬性標籤,設定display:block後採用float布局,又有橫向的margin情況,ie6間距bug

問題表現:ie6的間距比超過設定的間距

出現概率:20%

解決方案:在display:block;後面加入display:inline;display:table;

備註:行內屬性標籤,為了設定寬度,需要設定為display:block;(表單元素除外)在用float布局且有橫向margin後,在ie6下,就具有了塊屬性float後的橫向margin的bug。由於設定為display:inline,高度失效,所有在後面補上display:table。

五、預設有間距

問題表現:幾個img標籤放在一塊,有些瀏覽器會有預設的間距,有萬用字元也不起作用

出現概率:20%

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

備註:img標籤是行內屬性標籤,只要不超出容器高度,img會排在一行裡,使用float是比較好的選擇

六、標籤最低高度設定min-height不相容

問題表現:min-height本身就是乙個不相容的css屬性,所以設定min-height時不能相容所有瀏覽器

出現概率:5%

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

備註:b/s系統前端時,當內容小於乙個值時,容器的高度保持該值,當內容大於該值時,高度自適應且不出現滾動條。

七、透明度的相容css設定

ie:filter:progid:dximagetransform.microsoft.alpha(style=0,opacity=60)

ff:opacity:0.6

備註:最好兩個都寫,並將opacity屬性放在下面。

八、常見的css hack處理手段

ie6識別_和*

ie7和遨遊識別*

ff識別 !important

ie8識別\9

所有設定時注意順序:height:200px; *height:150px; _height: 100px;

九、float閉合

問題表現:多個內部div浮動對齊時,父元素高度不對

出現概率:20%

解決方案:上**

.clearfix:after

.clearfix

.clearfix

十、ul和ol列表縮排問題

清除ul、ol等列表的縮排時,樣式需要寫成:

list-style:none;margin:0;padding:0;

其中margin屬性對ie有效,padding屬性對firefox有效

十一、css圓角問題

ie7以下版本不支援圓角

ff: -moz-border-radius: 4px; 單邊圓角:-moz-border-radius-topleft: 4px;

chrome: border-radius: 4px;

ie7以下背景圓角需要採用圓形定位方式處理,邊框圓角可以採用累計效果拼接

二、游標手形

問題表現:firefox不支援hand,但ie支援pointer

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

三、字型大小定義不同

問題表現:對字型大小small定義不同,firefox為13px,而ie為16px,差別比較大

解決方法:使用指定的字型大小如14px或者使用em

十四、ie6 3px bug

問題表現:左側div浮動left,右邊div可以接著橫向排列,形成典型一列固定,第二列自適應,ie6出現之間3px間隙

解決方法:對左側left的盒子補上_margin-right: -3px;

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

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

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

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

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

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