关于iframe和它的高度有很多问题.有些相似,但没有给我正确的答案.那么让我解释一下我的情况:
JSFiddle:http://jsfiddle.net/AmVhK/3/show/
编辑:http://jsfiddle.net/AmVhK/3/
有一个2行的表.第一个包含一个固定高度的div #toolbar.第二行包含一个包含iframe的div.我需要iframe来获取工具栏div下方的可用空间.
我面临的问题是IE标准模式(支持IE8).比方说,窗口的高度是1000px,工具栏的高度是200px,那么iframe的高度也是1000px,滚动条也是如此.我需要iframe的高度为(页面高度 – 工具栏高度).
如果有一个CSS解决方案会很好.使用JavaScript获取高度可用并将其设置为iframe或者它包含div是我的最后手段解决方案:)
将工具栏或iframe设置为绝对位置也不适用于我的用例.如果需要,标记更改是可以的(如果要删除表)
我已经设置了以下CSS:
@H_403_15@html,body {height: 100%}任何好的解决方案来实现它.
解决方法
好的,这是我的尝试,有一个问题,iframe想在IE7中有一个水平滚动,但布局很好,我不得不放弃,因为与IE7的战斗让我想要咀嚼我自己的眼睛,希望有人可以扩展从这里.
@H_403_15@<!DOCTYPE html>
<html lang="en">
<head>
<Meta charset="utf-8" />
<title>iframelayout</title>
<style>
html,body {
margin: 0;
padding: 0;
height: 100%;
}
div,iframe {
margin: 0;
padding: 0;
border: 0;
}
.container {
position: relative;
width: 100%;
height: 100%;
background: #222;
}
.toolbar {
height: 200px;
background: #aaa;
}
.iframe-container {
position: absolute;
top: 200px;
bottom: 0;
width: 100%;
background: #555;
overflow-y: hidden;
}
.iframe-container iframe {
position: absolute;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div class="container">
<div class="toolbar">
</div>
<div class="iframe-container">
<iframe src="https://c9.io/" frameborder="0">Your browser is kaput!</iframe>
</div>
</div>
</body>
</html>