如果已经回答这个问题我很抱歉,但是搜索“100%身高”的东西很难。
我的问题是我需要100%高度的表格布局,因为浏览器会自动调整大小,我不想因为显而易见的原因而自行编写脚本。
它不同于其他“100%问题”,因为我需要一些细胞粘在顶部,一些细胞粘在底部,并通过浏览器调整中间值以填充剩余空间。
那种工作,问题发生在我需要中间部分来包含溢出的东西,显然我想要溢出:自动在那里通过那些东西启用用户。它适用于WebKit,在Firefox中,它没有,其他没有经过测试。这是测试用例。
<html>
<head>
<style>
body, html {
height: 100%;
margin: 0;
padding: 0;
}
table {
height: 100%;
width: 200px;
border: 0;
}
.fill {
background-color: red;
}
.cont {
overflow: auto;
height: 100%;
}
</style>
</head>
<body>
<table>
<tr>
<td style="height:50px"></td>
</tr>
<tr>
<td style="height:100px"></td>
</tr>
<tr>
<td class="fill">
<div class="cont">
An opaque handle to a native JavaScript object. A JavaScriptObject cannot be created directly. JavaScriptObject should be declared as the return type of a JSNI method that returns native (non-Java) objects. A JavaScriptObject passed back into JSNI from Java becomes the original object, and can be accessed in JavaScript as expected
</div>
</td>
</tr>
<tr>
<td style="height:100px"></td>
</tr>
</table>
</body>
答案 0 :(得分:2)
我今天刚回答了这样的问题,我相信你正在寻找同样的事情,here是问题本身和我的答案:
<强> HTML 强>
<div class="container">
<div class="twenty">
fixed height 20
</div>
<div class="fifty">
fixed height 50
</div>
<div class="hundred">
fixed height 100
</div>
<div class="auto">
<div class="content">
....
</div>
</div>
<div class="fifty" style="border-bottom:none; border-top:1px solid">
fixed height 50
</div>
</div>
<强> CSS 强>
html,body {
height:100%;
margin:0;
padding:0;
overflow:hidden;
}
.container {
width:100%;
height:100%;
}
.twenty, .fifty, .hundred, .auto {
border-bottom:1px solid black;
}
.twenty {
height:20px;
}
.fifty {
height:50px;
}
.hundred {
height:100px;
}
.auto {
height:100%;
overflow:hidden;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;
margin:-120px 0;
padding:120px 0;
}
.content {
float:left;
overflow:auto;
height:100%;
}
.content{
width:100%;
}
完整视图:http://jsfiddle.net/8abeU/show/ 小提琴:http://jsfiddle.net/8abeU
答案 1 :(得分:-2)
我不确定我理解为什么你需要使用一张桌子。如果您的目标只是创建一个总是跨越浏览器窗口的整个高度的布局,当中间的内容很小时,并在内容增加时垂直调整,那么CSS就是您所需要的。
<html>
<head>
<style>
html,
body {
margin:0;
padding:0;
height:100%;
}
#container {
min-height:100%;
height:100%; /* Necessary for IE
position:relative;
background-color: red; /* Set equal to background-color of #body. This creates the illusion that your middle content spans the entire height of the page */
}
#header {
background:#ff0;
padding:10px;
}
#body {
padding:10px;
padding-bottom:60px; /* Height of the footer */
background-color: red; /* Set equal to background-color of #container */
}
#footer {
position:absolute;
bottom:0;
width:100%;
height:60px; /* Height of the footer */
background:#6cf;
}
</style>
</head>
<body>
<div id ="container">
<div id="header"></div>
<div id="body">
This is resizable.
</div>
<div id="footer"></div>
</div>
</body>
</html>
Refer to this guide如何做到(我所做的只是编辑容器和主体div的背景颜色,以创建中间内容跨越100%高度的错觉。调整css宽度等...适合你的布局。)