请问取消了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
被撑开了,连同p
的margin
一块儿包裹了,overflow:auto/hidden;
也可以达到同样的效果。
css 47行 设置了 p{margin:0 0 9px 0}