瀏覽器兼容問題詳解

瀏覽器的兼容


1.概述:
2.主流的瀏覽器:
   IE,safari,firefox,chrome,opera,百度,360,搜狗,遨遊
3.瀏覽器的內核:
   1.瀏覽器的最關鍵部分,就是渲染引擎,
   2.五大瀏覽器的內核:
      1.webkit
      2.Blink
      3.Gecko   (壁虎)
      4.presto   (迅速)
      5.trident   ()
      
   說明:
      如果想要使一些瀏覽器能夠兼容,需要加一些前綴:
         mozilla   內核    需要加上   -moz-
         webkit            -webkit-
         presto            -0-
         IE8               -ms-
       

瀏覽器的兼容問題


1.  CSS  bug
   css樣式在各個瀏覽器中的接續不一致的情況,或者不能正常正確顯示的問題
2.CSS hack
   css ,hack是指一種兼容css不同瀏覽器中正確顯示的技巧方法,相當於非官方的修改,或者補丁
3.Filter:
   表示過濾的意思,他是一種特定的瀏覽器或者瀏覽器組顯示或隱藏規則或聲明的方法
   
注意:
   設計hack和filter通常兩種方式
      1.利用瀏覽器自身的BUG,來顯示或者隱藏樣式或聲明
      2.利用瀏覽器對css支持的不完善性,來隱藏和顯示樣式
      hack帶來的副作用:
          降低了css代碼的可讀性,增加了代碼的負擔
   

常見問題及解決--圖片


1、圖片的下方有空隙產生(加了邊框而產生的間隙)
  1.hack1:
     img{vertical-align:middle/top/bottom}
   2.hack2:
      img{display:block;}
2.div中圖片的間隙
   描述:在div中插入多個圖片時,圖片與圖片之間有空隙
   1.  hack1:
       將代碼寫在一行上
   2.hack2:
       將<img>轉爲塊級元素,給<img>添加聲明:float:left;
   3.父級元素font-size:0;或者word-spacing:負值;
   
3.IE在加載時默認會生成邊框(2個像素的邊框)
    1.給a標籤添加邊框,並且把a標籤轉成塊級元素
     
 4.input和img垂直方向不對齊的問題:
    解決方式:
       img{vertical-algin:middle;}

常見問題---間距


1.不同瀏覽器的標籤默認的外邊距和內邊距不同
    解決方案:
    *{margin:0;padding:0;}
2.兩個塊元素,豎向的margin值不增加,會重疊,其間距爲最大的margin值
3.IT6橫向margin加倍(產生的原因:塊屬性、float、橫向的margin)
    解決方法:   display:inline;
4.給子元素加margin-top 時,瀏覽器中是給父元素加margin-top值
   解決方案:
       1.給父元素設置padding-top:margin-top的值;
       2.給父元素添加padding-top:0.1px;
       3。給父元素加border
 5.經典3像素bug
     產生條件:
         IE6瀏覽器,浮動塊元素與未浮動元素處於同一行,有默認的3px間距
     解決方式:
        設置非浮動元素浮動
    
    

常見問題及解決---其他

1.定義元素的不透明度:opacity
    解決方式:
        filter:alpha(opacity=80)   IE支持
        opacity:0.8   /*支持css3的瀏覽器*/
2.遊標的手指cursor
    pointer:可以在IE或ff中顯示遊標手指狀
    hand:   僅IE可以
3.高度自適應的問題(最小高度)
    IE6不認識min-height
    IE6裏的內容會自動撐開
       解決方式:
           div{
             height:atuo!important;height:200px;min-height:20px;
           }
4.a標籤的hover不適用所有標籤
   產生條件:
      IE6瀏覽器中Hover只支持a標籤,其他的一律不支持
      解決方式:
         合理用a標籤嵌套其他標籤一起使用,行內標籤或js模擬a 的hover效果
5.一行文本垂直居中問題:
    vertical-algin:middle;   不管用
       解決方式:
           height:30px;line-height:30;
發佈了33 篇原創文章 · 獲贊 9 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章