瀏覽器兼容性問題匯總


1、css3   box-shadow 對於不同的瀏覽器,兼容問題的解決辦法:
.box_shadow{
background-color: #eee;
filter: progid:DXImageTransform.Microsoft.Shadow(color='#969696', Direction=135, Strength=5);/*for ie6,7,8*/
-moz-box-shadow:2px 2px 5px #969696;/*firefox*/
-webkit-box-shadow:2px 2px 5px #969696;/*webkit*/
box-shadow:2px 2px 5px #969696;/*opera或ie9*/
}

2、各個瀏覽器之間顯示字體不一致的解決辦法
統一設置全局字體:
body{font-family: '微軟雅黑';}

3、去掉谷歌瀏覽器輸入框內自帶黃色背景
input:-webkit-autofill {-webkit-box-shadow: 0 0 0px 1000px white inset;}

4、去掉IE瀏覽器中輸入框右邊的小圖標(叉號和眼睛)
 ::-ms-clear, ::-ms-reveal{display: none;}

5、去掉谷歌瀏覽器下輸入框自帶邊框
 .class{outline:none}  
6、禁止表單的自動填充功能

autocomplete=”off”。
7、取消chrome下textarea可拖動放大
textarea{resize:none}

8、標簽最低高度 min-height不兼容

因為min-height本身就是一個不兼容的css屬性,所以正確的做法是:{min-height:200px; height:auto !important; height:200px; overflow:visible;}

9、 /* CSS hack*/

使用hacker我可以把瀏覽器分為3類:IE6 ;IE7和遨游;其他(IE8 chrome ff safari opera等)

◆IE6認識的hacker 是下划線_ 和星號 *

◆IE7 遨游認識的hacker是星號 *

比如這樣一個CSS設置:

    height:300px;*height:200px;_height:100px;

IE6瀏覽器在讀到height:300px的時候會認為高時300px;繼續往下讀,他也認識*heihgt, 所以當IE6讀到*height:200px的時候會覆蓋掉前一條的相沖突設置,認為高度是200px。繼續往下讀,IE6還認識_height,所以他又會覆蓋掉200px高的設置,把高度設置為100px;

IE7和遨游也是一樣的從高度300px的設置往下讀。當它們讀到*height200px的時候就停下了,因為它們不認識_height。所以它們會把高度解析為200px,剩下的瀏覽器只認識第一個height:300px;所以他們會把高度解析為300px。因為優先級相同且想沖突的屬性設置后一個會覆蓋掉前一個,所以書寫的次序是很重要的

10、不同瀏覽器默認的內邊距和外邊距不同

*{margin:0;padding:0;}

11、div用float布局后並且設置了margin屬性的情況下,在ie6下margin比設置的要大

在float樣式中加入display:inline;將其轉化為行內元素

12、當給標簽設置高度小於10px時,IE6,IE7,遨游高度會超出設置高度

給標簽設置overflow:hidden;或者把line-height設置成小於本來要設置的高度(這個問題的原因是IE8之前的瀏覽器都會給一個默認的行高)

13、行內元素設置了display:block;后又用float布局並且設置了margin的情況下,ie6間距bug問題

在display:block;后加display:inline;display:table;

14、多個<img>放在同一行時,有些瀏覽器會出現圖片之間有間隙的情況,加了通配符設置也不起作用

使用float為img布局


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM