日期:2014-05-17  浏览次数:20604 次

css中height:100%不起作用的解决方法

? 在网页设计中,table用height:100%是可以整屏的,但需要在网页头部增加:
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml">
后就和没有用height:100%一样了,后来发现要给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%;以保证两个浏览器下均能够正常显示。

1 楼 hooray520 2012-04-14  
nice 正好解决了我手头上的这个问题