● 瀏覽器相容問題由來
○ 由於各大主流瀏覽器由不同的廠家開發,所用的核心架構和**也很難重和,這就為各種莫名其妙的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:將
與寫在一行上(可以解決ie6/7);
■ hack2:將
轉為塊狀元素,給
新增宣告:display:block;
■ 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 針對每...