+ -
当前位置:首页 → 问答吧 → 为什么IE8,IE9,FF4下,父div无边框无内容时 子div的margin-top会影响父div的位置

为什么IE8,IE9,FF4下,父div无边框无内容时 子div的margin-top会影响父div的位置

时间:2011-03-29

来源:互联网


<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <style> #Div1{width:935px; height:200px; background-color:#f0f0f0;border:solid #0ff 0px; margin:3px auto;} #Div2{width:98%; height:auto; border:solid #0f0 1px; margin:50px auto auto auto;text-align:left;} </style> </head> <body> <div id="Div1"> <div id="Div2"> 我是Div2, 为什么Div1的位置受Div2的margin-top影响? </div> </div> </body> </html>
 提示:您可以先修改部分代码再运行
为什么上面这个在ie6,ie7下正常,而在IE8,IE9,FF4下Div2的margin-top:50px会影响到Div1的位置?。

但把Div1的border设置为非0px 或是在Div2之前随便输入些内容的时候,Div1的位置就不会受Div2的margin-top的影响了。

下面两个分别为div1内容非空,和div1有边框。。都正常不会受div2的影响。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <style> #Div1{width:935px; height:200px; background-color:#f0f0f0;border:solid #0ff 0px; margin:3px auto;} #Div2{width:98%; height:auto; border:solid #0f0 1px; margin:50px auto auto auto;text-align:left;} </style> </head> <body> <div id="Div1"> 我是Div1,随便加些内容位置就不受Div2的影响 <div id="Div2"> Div2 XXXXXXXXXX </div> </div> </body> </html>
 提示:您可以先修改部分代码再运行

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <style> #Div1{width:935px; height:200px; background-color:#f0f0f0;border:solid #0ff 1px; margin:3px auto;} #Div2{width:98%; height:auto; border:solid #0f0 1px; margin:50px auto auto auto;text-align:left;} </style> </head> <body> <div id="Div1"> <div id="Div2"> Div1有边框位置就不会受Div2的影响了 </div> </div> </body> </html>
 提示:您可以先修改部分代码再运行
[ 本帖最后由 lovefeng 于 2011-3-29 11:39 编辑 ]

作者: lovefeng   发布时间: 2011-03-29

请问这是为什么?

作者: lovefeng   发布时间: 2011-03-29