博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

xhtml标准下的height:100%

Posted on 2008-06-09 22:45  linFen  阅读(905)  评论(0编辑  收藏  举报
 

XHTML下对象的height:100%不能用网上找到了这位老兄的解释:颇为精辟 收藏

html,body{ 
margin
:0px;
 
height
:100%;
 
}


#id 
{ 
background-color
:#CCC;
 
width
:150px;
 
height
:100%;
 
}
 

代码已经到了不能再简单的地步,对#left对象设置了height:100%;,然而也能够看见,同时设置了HTML与body的height:100%;,而这个就是高度自适应问题的关键所在。
分析:
一个对象高度是否可以使用百分比显示,取决于对象的父级对象,#left在页面中直接旋转在body之中,因此它的父级是body,而浏览器默认状态 下,是没有给body一个高度属性的,因此当我们直接设置#left为height:100%;时,不会产生任何效果,而当我们给body设置了100% 之后,它的子级对象#left的height:100%;便发生作用了,这便是浏览器解析规则引发的高度自适应问题。而代码中除了给body应用之外,还 给HTML对象也应用相同的样式设计,这样做的好处是使IE与firefox浏览器都能够实现高度自适应,而body却不是。另外,Firefox中的 HTML标签不是100%高度,因此给两个标签都定义为height:100%;以保证两个浏览器下均能够正常显示。