1. 程式人生 > >瀏覽器相容性問題彙總(轉)

瀏覽器相容性問題彙總(轉)

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佈局

原文地址:https://www.cnblogs.com/lexie/p/5818375.html