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%;以保证两个浏览器下均能够正常显示。

以此类推,如果你要显示的表格或者DIV的层次比较深,那么这一路下去都要是100%

相关文章