为了账号安全,请及时绑定邮箱和手机立即绑定

对于clear:both的疑惑?

如果把clear:both去掉 为什么footer的div就跑上面了呢?它本身不就是在main的下面吗?为什么加了又跑到main的下面了呢

正在回答

2 回答

div是块状元素,它会很霸道的占一行,从代码可以看出啊,整个的main内容块没有指定高度的,只有它的子内容块指定了高度,但是它的子内容块是浮动的,所以子内容块的高度不能影响成为main的高度,那么浏览器就默认了把footer的div显示在top的下一行,这个时候添加clear:both清除了上面模块的浮动特性,那么此时main的高度就是和子内容块的高度是一样的,因此浏览器就会把footer的div显示在main的下一行;   你可以尝试把clear:both语句清除,然后定义如下的样式 .main{height:600px;};把main的高度加上,那么浏览器也会正确显示的(我也刚学的,表达不清楚,不知道你可不可以理解)

11 回复 有任何疑惑可以回复我~
#1

晨曦_0026 提问者

非常感谢!你讲解的很详细!
2016-04-29 回复 有任何疑惑可以回复我~
#2

JoKer49

好犀利
2016-05-01 回复 有任何疑惑可以回复我~
#3

BoomShakaLaka93

谢谢!
2016-06-01 回复 有任何疑惑可以回复我~
#4

打边炉

正解啊
2016-09-02 回复 有任何疑惑可以回复我~
查看1条回复

谢谢!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
如何用CSS进行网页布局
  • 参与学习       209624    人
  • 解答问题       1153    个

用最简洁的案例教你布局的那些知识,这是前端工程师基本技能

进入课程

对于clear:both的疑惑?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信