IE6 雙倍水平外邊距BUG以解決方案

2021-05-27 00:26:35 字數 852 閱讀 3484

出現條件:

1、沒有設定display:inline的塊元素

2、浮動元素

3、設定了水平外邊距(浮動的方向和水平外邊距設定的方向一致)

4、元素與父容器之間

備註:因為浮動都有其相對應的物件,只有相對於其父容器的浮動才會出現這樣的問題。第乙個元素是相對父容器的,而第二個是相對第乙個兄弟元素的,所以第二個浮動元素不會出現雙倍水平外邊距問題。而且只有設定水平外邊距的值才會出現雙倍外邊距,垂直外邊距沒有關係。

解決辦法:給浮動塊框設定display:inline解決問題

下面是測試**:

ie6浮動雙倍外邊距

ie6浮動雙倍外邊距

原因分析:這個現象僅當塊框設定了浮動才會出現,行內框浮動不會出現此問題。因為行內框預設display:inline,給其float後自動就具有塊框特性,所以如果是span之類的行內框,浮動後是不需要再單獨設定display:inline就可以自動消除雙倍水平外邊距。

下面是測試**: 

ie6浮動雙倍外邊距

ie6浮動雙倍外邊距

總結一下:

如果預設的是塊元素例如div之類的,在設定 float 後同時要置display:inline來解決ie6的雙倍水平外邊距;

如果預設是內聯元素例如span之類的,那麼浮動後是沒有關係的,因其自身居右display:inline,所以不需要再重複新增該屬性。

IE6 雙倍水平外邊距BUG以解決方案

出現條件 1 沒有設定display inline的塊元素 2 浮動元素 3 設定了水平外邊距 浮動的方向和水平外邊距設定的方向一致 4 元素與父容器之間 備註 因為浮動都有其相對應的物件,只有相對於其父容器的浮動才會出現這樣的問題。第乙個元素是相對父容器的,而第二個是相對第乙個兄弟元素的,所以第二...

IE6雙倍邊距 IE6瀏覽器會出現雙倍邊距解決方法

所謂的ie6雙倍邊距就是指當元素有float屬性,又有margin屬性時,在ie6下程式設計客棧面顯示的margin的值是設定值的兩倍。下面的 摺疊展開xml html code 複製 如下 ie6顯示效果為 ie8顯示效果為 可以看得出來左邊距在ie6下面明顯比ie8下面的大,在ie6下面的左邊距...

IE6雙倍margin間距解決方案

問題 在ie6下如果某個標籤使用了float屬性,同時設定了其外補丁 margin 10px 0 0 10px 可以看出,上邊距和左邊距同樣為10px,但第乙個物件距左邊有20px。解決辦法 方法一 當將其display屬性設定為inline時問題就都解決了。說明 這是因為塊級物件預設的 displ...