| -------------顶栏------------- | 50像素
|的 _ __ _ __ _ __ _ __ _ __ < EM> _ __ _ ___ | 100%-50px
\ IFRAME
\ IFRAME
\
\
\
\
答案 0 :(得分:0)
有办法!
在CSS中使用此功能:min-height: calc(100% - 50px);
min-height
这里就可以了。如果没有min
,则max-height
会将其作为100% - 50px
,并且不会扩展其高度,直到其内容达到{{1}}。
答案 1 :(得分:0)
使用: -
#iframeid{
height: -moz-calc(100% - 50px);
height: -webkit-calc(100% - 50px);
height: calc(100% - 50px);
}
答案 2 :(得分:0)
在css中给你的iframe填充顶部:50px
像这样iframe {
padding-top:50px;
}
或者你可以给你的iframe一个类并定义padding-top:50px;在那里
答案 3 :(得分:0)
不需要javascript。 使iframe高度达到100%;并在顶部添加填充以偏移顶部栏。
iframe{ padding-top:50px; height:100%;
box-sizing:border-box; moz-box-sizing:border-box }
关键属性为box-sizing
。使元素高度100%
正如它所做的那样,但任何其他填充只会增加高度或宽度的大小,具体取决于你填充它的方式。但如果你制作box-sizing
border-box
,这将强制浏览器不添加到高度或宽度,而是取或减(即'100%-50px')从高度或宽度。
如此长的故事,box-sizing
是你的CSS中缺少的功能。 不需要JAVASCRIPT ,这只会是矫枉过正。
注意:这适用于所有浏览器
答案 4 :(得分:0)
您可以使用box-sizing
和padding
这是我的想法
<div id="top-bar"></div>
<iframe src="http://www.jsfiddle.net" frameborder="0"></iframe>
*{
box-sizing:border-box; // box sizing allows us to add 50px padding to the iframe
-webkit-box-sizing: border-box; // Without effecting the size
-moz-box-sizing: border-box;
margin:0;
}
#top-bar{
height:50px; // Height of top bar
position:fixed; // Fixed
background:skyblue;
top:0;
left:0;
right:0;
}
iframe{
padding-top:50px; // Height of top bar
height:100%;
width:100%;
margin:0;
}
body, html{
height:100%;
width:100%;
overflow:hidden; // There was like 10px of empty overflow at the bottom
// i will find out why
}
给我几分钟,然后解释一切。
这是我能想到的唯一可以在IE8 +中运行的方式 否则就是javascript