我需要一个带有标题的页面和从其他网站显示的iframe。 这是我用的:
<!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" xml:lang="en" lang="en">
<head>
<style type="text/css">
*{margin:0;padding:0}
html, body {height:100%;width:100%;overflow:hidden}
table {height:100%;width:100%;table-layout:static;border-collapse:collapse}
iframe {height:100%;width:100%}
.header2 {border-bottom:1px solid #000;height:90px;}
.content2 {height:100%}
</style>
</head>
<body>
<table>
<tr>
<td class="header2">
asdasdasdasd
</td>
</tr>
<tr>
<td class="content2">
<iframe src="http://www.w3schools.com" scrolling="auto" frameborder="1" />
</td>
</tr>
</table>
</body>
</html>
问题是这段代码没有显示页脚完整(由于标题部分,90像素不在页面内)。
答案 0 :(得分:6)
桌子伤害了我的眼睛。 position: absolute
因此被严重低估。请尝试使用此布局:
<!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>
<title>Test Layout</title>
<style type="text/css">
body, html
{
margin: 0; padding: 0; height: 100%; overflow: hidden;
}
#header
{
position:absolute; left: 0; top: 0; right: 0; height: 90px; background: red;
}
#content
{
position:absolute; left: 0; right: 0; bottom: 0; top: 90px; background: blue; height: expression(document.body.clientHeight-90);
}
</style>
</head>
<body>
<div id="header">
Test content
</div>
<div id="content">
<iframe width="100%" height="100%" src="startdoc.html" />
</div>
</body>
</html>
正确渲染到IE6以及我用最少的黑客测试过的每个浏览器的加分点:)
答案 1 :(得分:0)
将标题置于绝对位置,以便在iframe上叠加,如下所示:
<table>
<tr style="position:absolute;top:5px">
<td class="header2">
asdasdasdasd
</td>
</tr>
<tr>
<td class="content2">
<iframe src="http://www.yahoo.com" scrolling="auto" frameborder="1" />
</td>
</tr>
</table>