我把所有的CSS塊兒全部使用邊框包起來(lái),結果看到在IE中兩個(gè)div之間的距離明顯要寬于其他瀏覽器,比如你寫(xiě)一個(gè)div的margin屬性為20px,那么在IE中就好像是40px一樣,這也就是為什么本來(lái)精度計算的剛剛好,在IE下卻偏偏錯位的原因。
后來(lái)我看到了!important這個(gè)屬性,這個(gè)屬性其實(shí)也是css規范中的,結果IE6愣是不支持,也正因為它不支持,才讓很多的CSSer們找到了解決的方法。一般來(lái)講,在css中,如果在同一個(gè)css塊中寫(xiě)下兩個(gè)同樣的屬性,那么其實(shí)是按照最下面的來(lái)執行的,比如說(shuō):
.home{
margin-left:20px;
margin-left:40px;
}
那么在執行的時(shí)候其實(shí)是按照40px來(lái)執行的,!important的出現就是為了讓用戶(hù)自己設置被執行語(yǔ)句的優(yōu)先級。如果把上面的語(yǔ)句改為:
那么在火狐、google瀏覽器以及IE7以上版本下將會(huì )按照20px來(lái)執行,而在IE6下卻仍然按照40px來(lái)執行,因為IE6并不支持!important規范,我們就可以按照這個(gè)規則來(lái)滿(mǎn)足IE6的設計需要,什么時(shí)候發(fā)現IE6和其他瀏覽器顯示效果不同,那么就設置兩個(gè),在上面的一個(gè)加入!important標記,而下面的一句則不需要添加,這樣IE6就按照下面的來(lái)執行了。資深的CSSer說(shuō):如今的CSS處處!important。這可都是天殺的IE6惹的禍,大家說(shuō)IE6就是一坨代謝產(chǎn)物一點(diǎn)也不為過(guò)。
聯(lián)系客服