部分瀏覽器相容問題

2021-09-27 03:26:27 字數 2367 閱讀 3265

● 瀏覽器相容問題由來

○ 由於各大主流瀏覽器由不同的廠家開發,所用的核心架構和**也很難重和,這就為各種莫名其妙的bug(**錯誤)提供了溫床。再加上各大廠商出於自身利益考慮而設定的種種技術壁壘,都讓css應用起來比想象得要麻煩。瀏覽器的相容問題是我們必須去克服的。

● 瀏覽器介紹

● css bug

○ css樣式在各瀏覽器中解析不一致的情況,或者說css樣式在瀏覽器中不能正確顯示的問題稱為css bug.

● css hack

○ css中,hack是指一種相容css在不同瀏覽器中正確顯示的技巧方法,因為它們都屬於個人對css**的非官方的修改,或非官方的補丁。有些人更喜歡使用patch(補丁)來描述這種行為。

○ 帶來的***:降低了css**的可讀性,增加了**的負擔

● css filter

○ 表示過濾器的意思,它是一種對特定的瀏覽器或瀏覽器組顯示或隱藏規則或宣告的方法。本質上講,filter是一種用來過濾不同瀏覽器的hack型別

*設計css hack和 filter通常有兩種方法

1)一種是利用瀏覽器自身的bug,來隱藏或顯示樣式或宣告;

2)另一種是利用瀏覽器對css支援的不完善,如對某些規則或語法還沒有形成支援,來隱藏或顯示樣式。

● 常見瀏覽器bug以及解決方法

1、 下方3畫素

■ 描述:在div中插入時,會將div下方撐大三畫素。

■ hack1:將

與■ hack2:將

■ hack3:給加overflow:hidden;

2、 換行產生3畫素

■ hack1:不折行將元素放在一行內顯示

■ hack2:給元素加浮動

3、 滑鼠指標bug

■ 描述:cursor屬性的hand屬性值只有ie瀏覽器識別,其它瀏覽器不識別該宣告,cursor屬性的pointer屬性值ie6.0以上版本及其它核心瀏覽器都識別該宣告。

■ hack:如統一某元素滑鼠指標形狀為手型,應新增宣告:cursor:pointer;

4、 li裡a加display:block;出現行高不一致;

■ hack1:給a加display:inline-block;

■ hack1:給a加display:inline;

5、 超連結邊框(ie9以下)

■ 給宣告:display:inline-block;

7、表單按鈕元素不對齊

■ hack:給表單元素加float;

■ hack:把按鈕換成普通按鈕;

■ hack:用a標籤偽裝按鈕;

8、margin值疊加(火狐和谷歌)

■ hack:給子元素加float

■ hack:給父元素加padding或者border

9、 導航在ie7以下程階梯狀

■ 給li加浮動

● ie6常見相容問題以及解決方法

1、 雙倍浮向(雙倍邊距)

■ 描述:當乙個元素裡浮動方向與外邊距方向一樣時,會錯誤地把margin值顯示為雙倍

■ hack1:給元素新增宣告:display:inline;

■ hack2:新增宣告_margin-left:1/2;

2、 部分塊元素擁有預設高度(乙個字的高度)

■ 給元素新增宣告:font-size:0;

■ 給元素新增宣告:overflow:hidden;

3、 百分比bug

■ 描述:在解析百分比時,會按四捨五入方式計算從而導致50%加50%大於100%的情況

■ hack:給右面的浮動元素新增宣告:clear:right; 

4、 ie6元素高度會被撐大

■ 給元素新增overflow:hidden;

5、 ie6下文字重複

■ 元素之間有html注釋影響刪了

6、 除a標籤以外使用偽類選擇器ie6一律不認識

■ 替換成a標籤

● 高階-透明

○ 網頁上常用的格式(jpg,png,gif)

○ 支援透明:gif,png(png8,png24,png32)

○ 網頁上的形式(插入和背景圖)

○ 插入透明

○ 背景透明:

■ .gif:支援

■ .png8:支援(建議使用)

■ .png24:ie6不支援,其它核心瀏覽器支援(ps製作)

■ .png32:ie6不支援,其它核心瀏覽器支援

○ 讓ie6支援png24以及32的寫法

● 樣式:●

● 結構:

● ●

部分瀏覽器相容問題

瀏覽器相容問題由來 由於各大主流瀏覽器由不同的廠家開發,所用的核心架構和 也很難重和,這就為各種莫名其妙的bug 錯誤 提供了溫床。再加上各大廠商出於自身利益考慮而設定的種種技術壁壘,都讓css應用起來比想象得要麻煩。瀏覽器的相容問題是我們必須去克服的。瀏覽器介紹 css bug css樣式在各瀏覽...

瀏覽器相容問題

我經常看到一些人提問說網頁錯位,和在火狐裡面看上去網頁是好的,在ie在錯位了.在web 下html css裡全看一些關於這些問題.還有有ul li什麼調整不好的.等等 全可以用css hack 解決的.解決方法 用positon relative 然後 top 0px left 0px 上面的top...

瀏覽器相容問題

給近兩天的工作乙個總結,給這週劃上句號。工作中遇到了在google顯示的很好的介面,在ie顯示的不是很好,但還能看,僅僅是顏色和和位置錯位,在360瀏覽器下看就是真的錯誤太大了,不顯示,樣式也亂了,於是走上解決瀏覽器相容之路。思路1 對應每個瀏覽器寫個css,判斷之,工作量太大,放棄。思路2 針對每...