天天看點

ie6的雙邊距問題和firefox的浮動塊間距問題

【一】ie6的雙邊距問題

發生條件:

1)要為塊狀元素;

2)外邊距;

3)浮動元素的浮動方向和浮動邊距的方向一緻;(float:left   margin-left)  (float:right  margin-right);

塊元素向左浮動并且設定了左側的外邊距出現了這樣的雙邊距bug。同理,元素向右浮動并且設定右邊距也會出現同樣的情況。同一行如果有多個浮動元素,第一個浮動元素會出現這個雙邊距bug,其它的浮動元素則不會。

解決方法:

    解決這個BUG很容易,隻需要在相應的塊狀元素的CSS樹形中加入“display:inline;”或添加*html{margin-left:...px;},添加的做外邊距縮小一半就可以了。

    順便寫一下 *html{}隻對ie6生效,*+html{}隻對ie7生效。!important 對ie6生效。另w/idth 和 he/ight 在IE 6.0以下版本盒模型的不生效。

【二】firefox的浮動問題和ie中浮動塊間距

現象:

<div id = "main"style="width:500px;height:500px;background:#ccc;">

<div id = "left" style="width:200px;height:200px;background:#333;float:left;"></div>

<div id = "right" style="width:200px;height:200px;background:#555;"></div>

</div>

IE6中:                          

ie6的雙邊距問題和firefox的浮動塊間距問題

IE7中:

ie6的雙邊距問題和firefox的浮動塊間距問題

FF中:

ie6的雙邊距問題和firefox的浮動塊間距問題

<div id = "main"style="width:500px;height:500px;background:#ccc;">

<div id = "left" style="width:200px;height:200px;background:#333;float:left;"></div>

<div id = "right" style="width:200px;height:200px;background:#555;float:left;"></div>

</div>

IE6、7、FF中:

ie6的雙邊距問題和firefox的浮動塊間距問題

在ff中如果兩個塊級元素要排在同一行,需要使用float來解決。在ie6中,塊級元素會把另外的塊級元素趕到另一行。

在前一個塊級元素上加上float:left;之後,在ie6中就會顯示兩個塊級元素在同一行。但是在ff中我們會發現後一個塊級元素與前一個塊級元素重疊了,解決方法就是在後一個塊級元素上也加上float:left;