根據CSS 2.1標準,浮動元素的垂直邊緣不應該與任何相鄰元素摺疊。浮動元素摺疊邊緣
參見: http://www.w3.org/TR/CSS21/box.html#collapsing-margins
但實際上,這是不是在IE6之外的所有瀏覽器(FF,Safari瀏覽器,Opera和Chrome瀏覽器)會發生什麼(不與IE7或IE8嘗試雖然)。代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
</head>
<body>
<div style="margin-bottom:10px;">HEADER</div>
<div style="float:left;width:100%;margin:10px 0px;">Floating div</div>
<div style="margin-top:10px;">FOOTER</div>
</body>
</html>
加上clear:both;到頁腳div沒有任何區別。
我在CSS沒有專家,所以請糾正我,如果我的理解是錯誤的
編輯:
顯然,我的問題,造成了一些混亂。上面的代碼只是爲了演示我所指的行爲,我試圖找到解決方案並不是一個真正的問題。
感謝您的解釋,實際上我懷疑同樣的事情,但不確定。至於使用填充而不是邊距,實際上這是我爲你提到的相同原因所做的。 – 2009-04-19 15:30:03