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布局
*{margin:0;padding:0;}
標簽最低高度設置min-height不兼容標簽最低高度設置min-height不兼容標簽最低高度設置min-height不兼容