1. 程式人生 > >關於ie6常見瀏覽器相容問題

關於ie6常見瀏覽器相容問題

ie6的退役無疑對前端工程師們來說是巨大的福音,不必再為ie6的相容問題燒腦費時搬磚了,雖如此,還是整理一下ie6瀏覽器下的常見相容性問題

  1. 圖片間隙

    描述:在div中插入圖片時,圖片會將div下方撐大三畫素。
    一.div中的圖片間隙(該bug出現在IE6及更低版本中)
    這裡寫圖片描述
    解決方案:
    hack1:將與寫在一行上;
    hack2:將轉為塊狀元素,給新增宣告:display:block;
    二. dt,li中圖片間隙(IE6)
    這裡寫圖片描述
    解決方案:
    hack:將轉為塊狀元素,給新增宣告:display:block;

  2. 雙倍浮向(雙倍邊距)

    描述:當Ie6及更低版本瀏覽器在解析浮動元素時,會錯誤地把浮向邊邊界加倍顯示。
    hack:給浮動元素新增宣告:display:inline

  3. 預設高度(IE6)

    描述:在IE6及以下版本中,部分塊元素擁有預設高度(低於18px高度)
    hack1:給元素新增宣告:font-size:0;
    hack2:給元素新增宣告:overflow:hidden;

  4. 表單元素行高不一致(IE,MOZ,C,O,S)

    描述:表單元素行高對齊方式不一致
    hack:給表單元素新增宣告:float:left;

  5. 按鈕元素預設大小不一 致

    描述:各瀏覽器中按鈕元素大小不一致
    hack1: 統一大小/(用a標記模擬)
    hack2:input外邊套一個標籤,在這個標籤裡寫按鈕的樣式,把input的邊框去掉。
    hack3:如果這個按鈕是一個圖片,直接把圖片作為按鈕的背景圖即可。

  6. 百分比bug

    描述:在IE6及以下版本中在解析百分比時,會按四捨五入方式計算從而導致50%加50%大於100%的情況。
    hack:給右面的浮動元素新增宣告:clear:right; 意思:清除右浮動。
    clear:left:清除左浮動
    clear:both:清除兩邊的浮動

  7. 滑鼠指標bug

    描述:cursor屬性的hand屬性值只有IE瀏覽器識別,其它瀏覽器不識別該宣告,cursor屬性的pointer屬性值IE6.0以上版本及其它核心瀏覽器都識別該宣告。
    hack:如統一某元素滑鼠指標形狀為手型,應新增宣告:cursor:pointer;

  8. 透明屬性

    IE8以下瀏覽器寫法:filter:alpha(opacity=value);取值範圍 1-100
    相容其他瀏覽器寫法:opacity:.value;(value的取值範圍0-1,0.1,0.2,0.3—–0.9)

  9. 當li裡的A轉換成塊元素時,如果想讓所有的列表項都在同一行顯示,需要將LI和A都設定浮動(float)屬性,否則,IE6裡會出現每個LI單獨佔一行的情況。

  10. 當LI裡的A轉成塊元素時,給A寫浮動屬性後,IE6裡會錯誤的將列表項顯示成階梯狀,解決辦法將LI元素也同樣填加浮動屬性。

  11. li裡a加display:block;(ie7以下版本瀏覽器)出現行高不一致;

    hack1:給a加display:inline-block;
    hack2:給li加float:left;