[HTML/PHP]iframe外链嵌套框架界面响应式高宽度代码-第1张

iframe嵌套界面自适应是一个比较常见的功能需求,但是目前网上搜索出来的均不自适应功能,下面是我列出来的解决方案,分享给大家。

第一种使用原生的JS编写

适用于chrome,firefox,IE浏览器,下面是代码部分。

<div class="main_page">
	 <iframe scrolling="no" id="main" name="main" frameborder="0"  src="#" style="min-height:600px;width:100%;height:100%;"></iframe>
</div>
<script> // 计算页面的实际高度,iframe自适应会用到 function calcPageHeight(doc) { var cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight) var sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight) var height = Math.max(cHeight, sHeight) return height } //根据ID获取iframe对象 var ifr = document.getElementById('main') ifr.onload = function() { //解决打开高度太高的页面后再打开高度较小页面滚动条不收缩 ifr.style.height='0px'; var iDoc = ifr.contentDocument || ifr.document var height = calcPageHeight(iDoc) if(height < 850){ height = 850; } ifr.style.height = height + 'px' } </script>

第二种纯HTML-iframe高度宽度自适应

<body id="body" height="100%">
<script type="text/javascript">
    //设置body高度为浏览器高度,当然也可以不设置   
    document.getElementsByTagName('body')[0].style.height = window.innerHeight+'px';
</script>
    <!--iframe的高度设置为父元素的高度即可实现高度自适应-->
    <!--这边以body为父元素,当然也可以以div之类的元素为父元素-->
    <iframe name="Info1" id="Info1" src="#" onload="this.height=body.offsetHeight" width="100%" scrolling="true" frameborder="0"></iframe>
</body>

第三种嵌入iframe框架自适应宽度代码

让插入的iframe框架代码自适应浏览器的宽度

<iframe id="frame_content" src="#" scrolling="no" frameborder="0" onload="this.height=500" width="100%" height="100%" name="dibu"></iframe>

第四种播放器适用的近乎完美版

几乎完美的自适应代码,纯css,支持16:9,4:3.(推荐使用)

<style type="text/css">
.video-container { display: block; position: relative; width: 100%; height: 0; overflow: hidden; box-sizing: border-box } .video-container iframe, .video-container video { position: absolute; top: 0; left: 0; border: none; width: 100%; height: 100% } .video-ratio-16by9 { padding-bottom: 56.25% /* 9/16 */ } .video-ratio-4by3 { padding-bottom: 75% /* 3/4 */ }
</style>
<div class="video-container video-ratio-16by9">
<iframe src="#" allowfullscreen="" mozallowfullscreen="" msallowfullscreen="" oallowfullscreen="" webkitallowfullscreen="" frameborder="0"></iframe>
</div>

 

声明:本站文章原创有部分资源来源于网络,如无特殊说明或标注。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系 admin@liitk.com 进行删除处理!。