第一个div设置float后的margin-top为何不以body为基准

第一个div设置float后的margin-top为何不以body为基准

还有第二个div的文字被独自留在下面了呢?
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
            <title>float</title>
            <style type="text/css">
            *{padding: 0;
margin: 0}
.test1{
width: 100px;
height: 100px;
background:red;
float: left;

margin:10px; 
}
.test2{
width: 100px;
height: 100px;
background:green;
float:;
line-height:100px;
margin:10px; 
}

            </style>
        
    </head>
    <body>
        
            <div class="test1">1</div>
            <div class="test2">23434</div>
        
    </body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

1、没明白你的“margin-top为何不以body为基准”这个问题。

2、元素浮动后不会占据文字空间的,所以会出现这种情况。

W3C里面关于浮动的各种情况阐释的很详细,可以去看一下!

祝学习愉快!


  • weibo_飞来云去_0 提问者 #1
    第一个设置了浮动向左,第二个不浮动,同时第一个给设置了margin为10px,在全局设置了padding和margin为0的情况下,第一个div应该左上都不该是10px吗,显示的效果看上是20px,因为看到了绿色的部分
    2017-07-26 11:04:12
小丸子爱吃菜 2017-07-26 14:02:56

设置浮动的元素会受文档流元素的影响,可以给他们最外层添加一个父元素,给父元素设置overflow:hidden;就可以解决这个问题。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师