假如我们有如下的一个结构:
|
|
当h1和段落都浮动后,父元素container
坍塌所以不显示背景色@.@
通用做法:使用
after
伪元素
给浮动元素的父元素添加一个clearfix
选择器:<div class="container clearfix"></div>
|
|
上述写法相当于在container
末尾添加content
中的内容,并将其设置为块级元素,高度为0,内容不可见,但任然占据空间,这样就会撑开div
元素。隐藏content
值还可以稍微改变一下:
|
|
这个css也许还不是最佳的,这里贴上一篇css hack文章:Lessons Learned Concerning the Clearfix CSS Hack
一些别的思路
- 在
h1
后添加一个空标签:<div style="clear:both;"></div>
,这样会造成为了清除浮动页面可能有很多无意义的标签,pass! - 给
container
添加overflow
container
也设置为浮动,如果container
外层还有容器,会影响整个布局。