首页 > css清除浮动问题

css清除浮动问题

请问取消了header的clearfix属性后,为什么会出现图中中间的黑色区域,也就是p标签的margin

代码在这里

http://runjs.cn/code/kfkhq9ki


p{
    margin:0 0 9px 0;
}

这段代码设置了下间距


我好奇的是加了clearfix后p的margin值失效了,而且整个header高度增加了


清除浮动


p{

margin:0 0 0px 0;

}


题主是想问发生这个现象的原理吧。

加了clearfix会创建一个BFC,容器里面的元素不会影响到外面的元素,而p里面的margin-bottom也是属于容器的,所以会包含进容器里面。反之去掉以后就没有创建BFC,里面的元素可能会影响到外部元素。


因为header被撑开了,连同pmargin一块儿包裹了,overflow:auto/hidden;也可以达到同样的效果。


css 47行 设置了 p{margin:0 0 9px 0}

【热门文章】
【热门文章】