關於ie6常見瀏覽器相容問題
ie6的退役無疑對前端工程師們來說是巨大的福音,不必再為ie6的相容問題燒腦費時搬磚了,雖如此,還是整理一下ie6瀏覽器下的常見相容性問題
圖片間隙
描述:在div中插入圖片時,圖片會將div下方撐大三畫素。
一.div中的圖片間隙(該bug出現在IE6及更低版本中)
解決方案:
hack1:將與寫在一行上;
hack2:將轉為塊狀元素,給新增宣告:display:block;
二. dt,li中圖片間隙(IE6)
解決方案:
hack:將轉為塊狀元素,給新增宣告:display:block;雙倍浮向(雙倍邊距)
描述:當Ie6及更低版本瀏覽器在解析浮動元素時,會錯誤地把浮向邊邊界加倍顯示。
hack:給浮動元素新增宣告:display:inline預設高度(IE6)
描述:在IE6及以下版本中,部分塊元素擁有預設高度(低於18px高度)
hack1:給元素新增宣告:font-size:0;
hack2:給元素新增宣告:overflow:hidden;表單元素行高不一致(IE,MOZ,C,O,S)
描述:表單元素行高對齊方式不一致
hack:給表單元素新增宣告:float:left;按鈕元素預設大小不一 致
描述:各瀏覽器中按鈕元素大小不一致
hack1: 統一大小/(用a標記模擬)
hack2:input外邊套一個標籤,在這個標籤裡寫按鈕的樣式,把input的邊框去掉。
hack3:如果這個按鈕是一個圖片,直接把圖片作為按鈕的背景圖即可。百分比bug
描述:在IE6及以下版本中在解析百分比時,會按四捨五入方式計算從而導致50%加50%大於100%的情況。
hack:給右面的浮動元素新增宣告:clear:right; 意思:清除右浮動。
clear:left:清除左浮動
clear:both:清除兩邊的浮動滑鼠指標bug
描述:cursor屬性的hand屬性值只有IE瀏覽器識別,其它瀏覽器不識別該宣告,cursor屬性的pointer屬性值IE6.0以上版本及其它核心瀏覽器都識別該宣告。
hack:如統一某元素滑鼠指標形狀為手型,應新增宣告:cursor:pointer;透明屬性
IE8以下瀏覽器寫法:filter:alpha(opacity=value);取值範圍 1-100
相容其他瀏覽器寫法:opacity:.value;(value的取值範圍0-1,0.1,0.2,0.3—–0.9)當li裡的A轉換成塊元素時,如果想讓所有的列表項都在同一行顯示,需要將LI和A都設定浮動(float)屬性,否則,IE6裡會出現每個LI單獨佔一行的情況。
當LI裡的A轉成塊元素時,給A寫浮動屬性後,IE6裡會錯誤的將列表項顯示成階梯狀,解決辦法將LI元素也同樣填加浮動屬性。
li裡a加display:block;(ie7以下版本瀏覽器)出現行高不一致;
hack1:給a加display:inline-block;
hack2:給li加float:left;