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