父元素给子元素提供百分比参照依据以及定位参考依据,当父元素没有设置具体高度时候,子元素的height:100%无从参考,而且你的问题并不是100%造成的,而是没有清除浮动造成的。IE里面只要设置width或者height就触发元素的hasLayout,从而自动清除子元素的浮动~!你给父元素加一句overflow:hidden,会促使它在火狐下面重新计算自身空间,从而达到清除浮动的效果!
在父元素里加入overflow:hidden。就会自动撑开了。
原因,原来是火狐下,如果父元素不设置高度。子元素无从参考。但是设置了高度,又不能自动撑开。
并且是浮动造成的不能自动撑开。