首页 新闻 搜索 专区 学院

为什么li在浮动(float)时,给父元素加1个属性,overflow:hidden;父标签就能自适应高度

0
[待解决问题]

当li设置float:left;的时候,它的父元素就不会随着li的增多自适应高度(主要是FF等浏览器),所以,如果父元素有背景的话是不会随着li的高度增加而出现的。
这个时候可以给父元素加1个属性,overflow:hidden;

为什么li在浮动(float)时,给父元素加1个属性,overflow:hidden;父标签就能自适应高度

ycchina的主页 ycchina | 菜鸟二级 | 园豆:228
提问于:2013-03-09 15:32
< >
分享
所有回答(3)
0

CSS float 属性 http://www.w3school.com.cn/css/pr_class_float.asp 

这个问题我也没有想到更合理的解释。有点好奇的是,什么情况下li元素要float呢

陈希章 | 园豆:2338 (老鸟四级) | 2013-03-09 17:53

楼主可能是做horizontal的li

支持(0) 反对(0) Invictus | 园豆:76 (初学一级) | 2013-03-09 23:03
0

楼主可能是做horizontal的li

Invictus | 园豆:76 (初学一级) | 2013-03-09 23:03
1

这里涉及到一个概念 - BFC,非BFC会忽略float子元素的高度值,所以导致lz遇到的问题,而设置其属性overflow:hidden之后就触发了父元素的BFC,所以能自适应内容的高度。

可以参考:

http://lllt.iteye.com/blog/1440532

http://www.smallni.com/haslayout-block-formatting-contexts/

三桂 | 园豆:3565 (老鸟四级) | 2013-03-10 23:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册