我(再次)遇到了将子<div>
标签的大小调整为其父大小的问题。父元素由另一个脚本控制(不想触摸它),可以放置在屏幕上具有可变高度/宽度的任何位置。在我下面的示例中,这是#container
. 我想在里面放一些布局,它有一些可变的和一些固定的尺寸:
- 一个页脚(这里:)
#footer
,具有固定的高度(例如 100 像素)并填满父级的整个宽度 - 左侧的导航栏(此处
#left
:),具有固定宽度(例如 150 像素)并填满上部的整个高度 - 导航栏右侧的内容部分,即剩余空间。
我为“页脚”找到了一些解决方案,它确实有效(让一个 div 填充剩余屏幕空间的高度-> 'daniels' 发布)。但我无法达到#left
填满整个高度的部分。
下面是我的示例代码(在线版本:http ://worldtalk.de/v2013/test.html ;不会永远在线!):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
* { margin: 0; }
html, body { height: 100%; }
#container {
position: absolute; /* have no control over that container element */
width: 400px; height: 300px;
top: 100px; left: 10px;
background: red;
}
#upper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -100px; /* -100px being the size of the footer */
}
#footer {
background: green;
height: 100px;
}
#left {
background: yellow;
float: left; width: 150px;
/* the following CSS doesn't do what I want... */
min-height: 100%;
height: auto !important;
height: 100%;
}
</style>
</head>
<body>
<div id="container">
<div id="upper">
<div id="left">left - shall reach down until footer</div>
content part...<br> shall be next to it...
</div>
<div id="footer">footer</div>
</div>
</body>
</html>
有什么想法可以在不使用 JavaScript 的情况下实现这一目标?
问候,斯特凡