Я хочу отображать заголовок с произвольным содержимым над iframe, который занимает остальную часть экрана. Мне удалось заставить это работать с таблицами, используя следующее:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style>
html, body, iframe, table, tr, td {
margin: 0; padding: 0;
}
html, body, iframe, table, #content {
height: 100%; width: 100%;
}
table {
border-collapse: collapse;
}
iframe {
border: 0;
}
</style>
</head>
<body>
<table>
<tr><td>
<div id="header">
<p>some arbitrary stuff in a header</p>
<p>this is sized dynamically</p>
<p>it's not a fixed size</p>
</div>
</td></tr>
<tr><td id="content">
<iframe src="http://www.bing.com/search?q=stackoverflow" />
</td></tr>
</table>
</body>
</html>
Это работает в Firefox и Chrome, но не в IE7 (я не знаю почему). Без использования таблиц это самое близкое, что я мог получить:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style>
html, body {
margin: 0; padding: 0;
height: 100%;
}
iframe {
margin: 0; padding: 0;
width: 100%;
border: 0;
}
</style>
</head>
<body>
<div id="header">
<p>some arbitrary stuff in a header</p>
<p>this is sized dynamically</p>
<p>it's not a fixed size</p>
</div>
<iframe src="http://www.bing.com/search?q=stackoverflow" />
</body>
</html>
Это выглядит одинаково во всех браузерах, но iframe слишком короткий. Если я установлю его высоту на 100%, он станет больше экрана и появится две полосы прокрутки (так же, как IE7 в табличной версии) Я хочу, чтобы iframe занимал все свободное место в окне браузера, но не больше. Я бы предпочел не прибегать к Javascript.