<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>浮動屬性Float的跨瀏覽器案例解析：雙倍邊距、浮動元素寬度、3像素空隙問題</title>
        <description>1. 雙倍邊距(Double Margin)問題1.1 解決方法：1.2 原理：1.3 雙倍邊距(Double Margin)問題整理1. 雙倍邊距(Double Margin)問題

一般使用margin：間距，會有比較多問題，因此能夠不用就盡量不用，而使用padding：內距， margin的兼容性沒有pading好，但有時候卻又不得不使用。
例如：在IE6中，若使用了float:left之後導致margin-left雙倍邊距

這裡是sidebar
這裡是mainpage

CSS的設定


#sidebar{
  float: left;
  border: 3px solid #09C;
  width: 200px;
  margin-left: 20px;
  }

#mainpage{
  border: 3px solid #F09;
  width: 200px;
  float: left;
  margin-left: 20px;
  }

在Chrome、Firefox、Opera等瀏覽器下時會正常的顯示，但是如果到了IE6下就會出現雙倍邊距。

[hr]

[color=#993300]測試網址：http://mepopedia.com/~jinjin/float/margin2.html[/color]

在IE7以上版本，以及FireFox、GoogleChrome為正常顯示，觀察的效果如下：

[IMG]http://i556.photobucket.com/albums/ss1/whc915/dm002.jpg[/IMG]


在IE6出現雙倍邊距的問題

[IMG]http://i556.photobucket.com/albums/ss1/whc915/dm003.jpg[/IMG]


1. 解決方法：
只要加入display: inline;即可


#sidebar{
  float: left;
  border: 3px solid #09C;
  width: 200px;
  margin-left: 20px;
  display: inline;
  }

#mainpage{
  border: 3px solid #F09;
  width: 200px;
  float: left;
  margin-left: 20px;
  }

2. 原理：
這是因為區塊默認的display屬性值是block，當設置了浮動的同時，還設置了區塊外邊距就會出現這種情況。

另外第二個區塊和與旁邊區塊之間就不存在雙倍邊距的BUG。

[hr]

[color=#993300]解決雙倍邊距測試網址：http://mepopedia.com/~jinjin/float/margin2-inline.html[/color]

在IE6以及IE7以上版本、FireFox、GoogleChrome皆為正常顯示，觀察的效果如下：

[IMG]http://i556.photobucket.com/albums/ss1/whc915/dm005.jpg[/IMG]

[IMG]http://i556.photobucket.com/albums/ss1/whc915/dm004.jpg[/IMG]

[hr]
3. 雙倍邊距(Double Margin)問題整理
1.1  何種瀏覽器會有問題
[color=#CC0066]1.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IE6[/color]

1.2  何種情況會有問題
[color=#CC0066]1.2.1  在IE6中，靠近網頁邊界的部分，若使用了float:left，也設定margin-left，(若使用了float:right，也設定margin-right)就會產生雙倍邊距[/color]

1.3  解決方式
[color=#CC0066]1.3.1  加入display: inline[/color]</description>
        <link>http://mepopedia.com/forum/read.php?844,18331,18331#msg-18331</link>
        <lastBuildDate>Fri, 23 Oct 2026 10:56:32 +0800</lastBuildDate>
        <generator>Phorum 5.2.7</generator>
        <item>
            <guid>http://mepopedia.com/forum/read.php?844,18331,18331#msg-18331</guid>
            <title>浮動屬性Float的跨瀏覽器案例解析：雙倍邊距、浮動元素寬度、3像素空隙問題</title>
            <link>http://mepopedia.com/forum/read.php?844,18331,18331#msg-18331</link>
            <description><![CDATA[<div class='message-body' style='float:right; margin: 0; border: none; padding: 0 0 1em 1em; max-width: 216px'><div class='notice' style='padding: 10px 14px'><ol style='font-size: 0.8em; margin:0; padding: 0; list-style-type: none;'><li><a style='text-decoration:none' href=#.E9.9B.99.E5.80.8D.E9.82.8A.E8.B7.9D.28Double+Margin.29.E5.95.8F.E9.A1.8C>1. 雙倍邊距(Double Margin)問題</a><li style='padding-left: 1em'><a style='text-decoration:none' href=#.E8.A7.A3.E6.B1.BA.E6.96.B9.E6.B3.95.EF.BC.9A>1.1 解決方法：</a><li style='padding-left: 1em'><a style='text-decoration:none' href=#.E5.8E.9F.E7.90.86.EF.BC.9A>1.2 原理：</a><li style='padding-left: 1em'><a style='text-decoration:none' href=#.E9.9B.99.E5.80.8D.E9.82.8A.E8.B7.9D.28Double+Margin.29.E5.95.8F.E9.A1.8C.E6.95.B4.E7.90.86>1.3 雙倍邊距(Double Margin)問題整理</a></ol></div></div><h2 id='.E9.9B.99.E5.80.8D.E9.82.8A.E8.B7.9D.28Double+Margin.29.E5.95.8F.E9.A1.8C'>1. 雙倍邊距(Double Margin)問題</h2><br />
<br />
一般使用margin：間距，會有比較多問題，因此能夠不用就盡量不用，而使用padding：內距， margin的兼容性沒有pading好，但有時候卻又不得不使用。<br />
例如：在IE6中，若使用了float:left之後導致margin-left雙倍邊距<br />
<br />
<xmp><div id="sidebar">這裡是sidebar</div>
<div id="mainpage">這裡是mainpage</div></xmp>
<br />
CSS的設定<br />
<br />
<xmp>
#sidebar{
  float: left;
  border: 3px solid #09C;
  width: 200px;
  margin-left: 20px;
  }

#mainpage{
  border: 3px solid #F09;
  width: 200px;
  float: left;
  margin-left: 20px;
  }</xmp>
<br />
在Chrome、Firefox、Opera等瀏覽器下時會正常的顯示，但是如果到了IE6下就會出現雙倍邊距。<br />
<br />
[hr]<br />
<br />
<b>[color=#993300]測試網址：http://mepopedia.com/~jinjin/float/margin2.html[/color]</b><br />
<br />
<b>在IE7以上版本，以及FireFox、GoogleChrome為正常顯示，觀察的效果如下：</b><br />
<br />
[IMG]http://i556.photobucket.com/albums/ss1/whc915/dm002.jpg[/IMG]<br />
<br />
<br />
<b>在IE6出現雙倍邊距的問題</b><br />
<br />
[IMG]http://i556.photobucket.com/albums/ss1/whc915/dm003.jpg[/IMG]<br />
<br />
<br />
<h3 id='.E8.A7.A3.E6.B1.BA.E6.96.B9.E6.B3.95.EF.BC.9A'>1. 解決方法：</h3><br />
只要加入display: inline;即可<br />
<br />
<xmp>
#sidebar{
  float: left;
  border: 3px solid #09C;
  width: 200px;
  margin-left: 20px;
  display: inline;
  }

#mainpage{
  border: 3px solid #F09;
  width: 200px;
  float: left;
  margin-left: 20px;
  }</xmp>
<br />
<h3 id='.E5.8E.9F.E7.90.86.EF.BC.9A'>2. 原理：</h3><br />
這是因為區塊默認的display屬性值是block，當設置了浮動的同時，還設置了區塊外邊距就會出現這種情況。<br />
<br />
另外第二個區塊和與旁邊區塊之間就不存在雙倍邊距的BUG。<br />
<br />
[hr]<br />
<br />
<b>[color=#993300]解決雙倍邊距測試網址：http://mepopedia.com/~jinjin/float/margin2-inline.html[/color]</b><br />
<br />
<b>在IE6以及IE7以上版本、FireFox、GoogleChrome皆為正常顯示，觀察的效果如下：</b><br />
<br />
[IMG]http://i556.photobucket.com/albums/ss1/whc915/dm005.jpg[/IMG]<br />
<br />
[IMG]http://i556.photobucket.com/albums/ss1/whc915/dm004.jpg[/IMG]<br />
<br />
[hr]<br />
<h3 id='.E9.9B.99.E5.80.8D.E9.82.8A.E8.B7.9D.28Double+Margin.29.E5.95.8F.E9.A1.8C.E6.95.B4.E7.90.86'>3. 雙倍邊距(Double Margin)問題整理</h3><br />
<b>1.1  何種瀏覽器會有問題<br />
[color=#CC0066]1.1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IE6[/color]<br />
<br />
1.2  何種情況會有問題<br />
[color=#CC0066]1.2.1  在IE6中，靠近網頁邊界的部分，若使用了float:left，也設定margin-left，(若使用了float:right，也設定margin-right)就會產生雙倍邊距[/color]<br />
<br />
1.3  解決方式<br />
[color=#CC0066]1.3.1  加入display: inline[/color]</b>]]></description>
            <dc:creator>JinJin</dc:creator>
            <category>跨瀏覽器相容性網頁設計</category>
            <pubDate>Sun, 04 Dec 2011 21:59:07 +0800</pubDate>
        </item>
    </channel>
</rss>
