CSS中布局DIV高度自适应的方法

作者:ITink http://www.84design.com/(链接已失效)

  目前收集了一种方法,在实际应用中证实有效果,使用时注意理解下面的分析。

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

#left {
     background-color:#CCC;
     width:300px;
     height:100%;
     float:left;
}

  代码已经到了不能再简单的地步,对#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%;以保证两个浏览器下均能够正常显示。

原创文章,转载请注明出处:代码人生https://www.code-life.com/
本文链接地址:https://www.code-life.com/?p=315

发表评论

电子邮件地址不会被公开。 必填项已用*标注