浮動
發生場合:當左邊對象是浮動的,右邊對象採用外補丁的左邊距來定位,則右邊對象內的文本會離左邊有3px的空白誤差。
沒加修正:
運行代碼框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <title></title> <style type="text/css"> <!-- *{ padding: 0; margin: 0; } #layout{ background: #F1F1F1; width: 400px; float: left; } #floatbox { float: left; width: 100px; height: 50px; background: #6d6; } p { margin: 0 0 0 100px; background: #dd9; } --> </style></head><body><div id="layout"><div id="floatbox">floatbox</div><p>離左邊3px</p><p>離左邊3px</p></div></body></html>
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
修正過:(加了以下代碼)
* html #floatbox {
margin-right: -3px;
}
* html p {
height: 1%;
margin-left: 0;
}
不考慮mac下ie5.02
運行代碼框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <title></title> <style type="text/css"> <!-- *{ padding: 0; margin: 0; } #layout{ background: #F1F1F1; width: 400px; float: left; } #floatbox { float: left; width: 100px; height: 50px; background: #6d6; } p { margin: 0 0 0 100px; background: #dd9; } * html #floatbox { margin-right: -3px; } * html p { height: 1%; margin-left: 0; } --> </style></head><body><div id="layout"><div id="floatbox">floatbox</div><p>現在沒有3px了</p><p>現在沒有3px了</p></div></body></html>
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]