例如节点结构如下:
<div class=‘container‘> <div class="top">top</div> <div class="bottom">bottom</div> </div>
父元素高度为一定值(实际应用中是页面加载后再设置的值),子元素.top的高度为50px,要求.bottom的高度填充父元素剩余的所有高度。
用.bottom{height:100%;}肯定不行,因为这样它的高度会等于父元素的高度,而不是小于。
解决方法:同时设置绝对定位元素的top和bottom来拉伸它的高度。
.container{height:200px;background: gray;position: relative;} .top{background: green;height: 50px;} .bottom{background: blue;position:absolute;width:100%;left: 0;top:50px;bottom:0;}
运行代码
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
.container{height:200px;background: gray;position: relative;}
.top{background: green;height: 50px;color:#fff;}
.bottom{background: blue;position:absolute;width:100%;left: 0;top:50px;bottom:0;color:#fff;}
</style>
</head>
<body>
<div class=‘container‘>
<div class="top">top</div><div class="bottom">bottom</div>
</div>
</body>
</html>