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、各個瀏覽器之間顯示字體不一致的解決辦法
統(tǒng)一設(shè)置全局字體:
body{font-family: '微軟雅黑';}
3、去掉谷歌瀏覽器輸入框內(nèi)自帶黃色背景
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設(shè)置:
height:300px;*height:200px;_height:100px;
IE6瀏覽器在讀到height:300px的時候會認為高時300px;繼續(xù)往下讀,他也認識*heihgt, 所以當IE6讀到*height:200px的時候會覆蓋掉前一條的相沖突設(shè)置,認為高度是200px。繼續(xù)往下讀,IE6還認識_height,所以他又會覆蓋掉200px高的設(shè)置,把高度設(shè)置為100px;
IE7和遨游也是一樣的從高度300px的設(shè)置往下讀。當它們讀到*height200px的時候就停下了,因為它們不認識_height。所以它們會把高度解析為200px,剩下的瀏覽器只認識第一個height:300px;所以他們會把高度解析為300px。因為優(yōu)先級相同且想沖突的屬性設(shè)置后一個會覆蓋掉前一個,所以書寫的次序是很重要的
10、不同瀏覽器默認的內(nèi)邊距和外邊距不同
*{margin:0;padding:0;}
11、div用float布局后并且設(shè)置了margin屬性的情況下,在ie6下margin比設(shè)置的要大
在float樣式中加入display:inline;將其轉(zhuǎn)化為行內(nèi)元素
12、當給標簽設(shè)置高度小于10px時,IE6,IE7,遨游高度會超出設(shè)置高度
給標簽設(shè)置overflow:hidden;或者把line-height設(shè)置成小于本來要設(shè)置的高度(這個問題的原因是IE8之前的瀏覽器都會給一個默認的行高)
13、行內(nèi)元素設(shè)置了display:block;后又用float布局并且設(shè)置了margin的情況下,ie6間距bug問題
在display:block;后加display:inline;display:table;
14、多個<img>放在同一行時,有些瀏覽器會出現(xiàn)圖片之間有間隙的情況,加了通配符設(shè)置也不起作用
使用float為img布局