因為IE和Firefox對hr默認的各種屬性margin,padding等等都不一樣,所以定義為0也沒用。
我們可以通過下面的CSS hack來解決:
示例代碼 [www.mb5u.com]
hr.ducky{
margin-bottom:1px !important;
>margin-bottom:8px !important;
margin-bottom:8px
}
不只是針對hr,這只是一個例子。IE6和IE7對hr邊距margin的解釋是一樣的,所以都定為8px,Firefox與IE有區別,下邊距只能為1px。
第一條IE6,IE7,Firefox都讀懂,這時候都是1px;第二條IE6,IE7能讀懂,都用第二條的8px覆蓋了第一條的1px,Firefox不懂,跳到分號以後的下一條,這時候IE6,IE7是8px,FF是1px;第三句IE6,IE7,FF都讀懂,因為IE6本身的BUG,所以用第三條覆蓋了第二條,IE7因為第二條的!important所以忽視第三條,FF同理忽視第三條。
這個時候,IE6看第三條,IE7看第二條,FF看第一條。雖然在這個例子裡,第三條沒有必要,因為IE6與IE7對hr的解釋是一樣的,但是這裡是可以對三種浏覽器版本賦予不同的值。
dUcky認為最好的情況就是不用hack,只要寫的規范,一般問題不大,假如有一些差別的話,只要以IE作為第一浏覽效果,FF稍微有點區別都沒關系,沒必要hack,不然維護起來很麻煩,當然只是我的想法。