今天做网页,用到height:100%,在火狐和IE中测试都不行,没有出现效果。后来在网上面看到人人家的解决方法:
要给html,body都增加height:100%的属性,这是高度自适应问题的关键所在。
代码如下:
html,body{
margin:0px;
height:100%;
}
一个对象高度是否可以使用百分比显示,取决于对象的父级对象,Table在body之中,因此它的父级是body,而浏览器默认状态下,是没有给body一个高度属性的,因此当我们直接设置#left为height:100%;时,不会产生任何效果,而当我们给body设置了100%之后,它的子级对象 Table的height:100%;便发生作用了,这便是浏览器解析规则引发的高度自适应问题。而代码中除了给body应用之外,还给 HTML对象也应用相同的样式设计,这样做的好处是使IE与firefox浏览器都能够实现高度自适应。另外,Firefox中的HTML标签不是 100%高度,因此给两个标签都定义为height:100%;以保证两个浏览器下均能够正常显示。
但是我使用这种方法,还是不行,我就郁闷。想了好久,在网上看到了height:auto,解释一下height:100%和height:auto,auto是随内容的高度而撑开的,100%是根据父级元素的高度来决定的。我的解决方法是把100%改成了auto,这样子就可以了。