实现不同分辨率、不同浏览器下高度自适应、iframe高度自适应
html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jQuery.js"></script>
<script type="text/javascript" src="js/js.js"></script>
<style type="text/css">
/*
* 设置高度自适应,让在普通分辨率下和大屏分辨下,都能铺满屏。
1.设置最外层html的 font-size: 12px;
*/
html,body{font-family: "微软雅黑";font-size: 12px;width: 99%;height: 100%; min-width: 1340px; background-color: #04101E;margin: 0 auto;}
/*
2.高度用rem单位。
最外层html的 font-size: 12px;如果div的height是24px,那用24/12=2rem;相当于1rem=12px;
*/
.div1,.div2,.div3{
width: 100%;
height: 18.33rem; }
.div1{background-color:#ff1aaf ;}
.div2{background-color:#AA86E6 ;}
.div3{background-color:#189189 ;}
</style>
</head>
<body>
<div class="div1">撑起div的高度</div>
<div class="div2">撑起div的高度</div>
<div class="div3">撑起div的高度</div>
</body>
</html>
js:
// 放到头部(初始化位置
$(document).ready(function(){
setHeight();
$(window).resize(function(){
setHeight();
});
}) function setHeight(){
//alert("12");
var sWidth=document.documentElement.clientWidth;
var sHeight=document.documentElement.clientHeight;
if(sWidth>1366){
$("html").css("font-size",sWidth/1366*12+"px");
return;
}
if(sHeight>768){
$("html").css("font-size",sHeight/768*12+"px");
}
};
一、若使用iframe嵌入页面(跨域),自适应高度。
问题:初始化调用iframeHeight();同域有效。但对于iframe(class="iframeClass")里嵌入的页面还是无法自适应高度,不在同浏览器或分辨率下,下方出现白色空白。
解决方法:
①.主页面A.html。嵌入页面B.html
②.对A.html里任意一菜单class,统一绑定iframeHeight();。内容区iframe嵌入的页面能够自适应页面高度,空白处消失。内容超出自动出滚动条。
③.隐藏A.html里最外层滚动条。只显示iframe下的滚动条。
④.单位:宽100%,高rem。
$(document).ready(function(){
$(window).resize(function(){
iframeHeight();
});
iframeHeight();
}); function iframeHeight(){
var sHeight=document.documentElement.clientHeight;
$(".iframeClass").css("height",(sHeight/12-11.09)+"rem");
};
// 获得总可视区域的高度/12-head块占了11.09rem的高
如:
$(document).ready(function(){
$(document).on("click","#menus a",function(){
iframeHeight();
}); $(window).resize(function(){
iframeHeight();
});
iframeHeight();
});
二、设置点击某一处,head块隐藏。
var sHeight=document.documentElement.clientHeight;
$(".iframeClass").css("height",(sHeight-26)/12+"rem");
// 获得总可视区域的高度-标签页块占了26px的高后,除以12
如:
$("控制head隐藏按钮").click(function(){
if($("head块").is(":visible")){
$("head块").hide();
$(this).attr("title","显示head块");
var sHeight=document.documentElement.clientHeight;
$(".iframeClass").css("height",(sHeight-26)/12+"rem"); }else{
$("head块").show();
$(this).attr("title","隐藏head块");
// $(".iframeClass").css("height","41rem");
iframeHeight();
}
});
实现不同分辨率、不同浏览器下高度自适应、iframe高度自适应的更多相关文章
- 判断图片加载完成,自适应iframe高度
在做RSS订阅的时候遇到这样一个问题:点击文章标题时,弹出文章的详细界面.本来打算直接用弹出div层来显示文章的内容,但是设置div的overflow:scroll滚动条不好看,还有就是在androi ...
- js获取iframe和父级之间元素,方法、属,获取iframe的高度自适应iframe高度
摘自:http://blog.csdn.net/kongjiea/article/details/38870399 1.在父页面 获取iframe子页面的元素 (在同域的情况下 且在http://下测 ...
- 8.14 右键自定义菜单 更加iframe 内容高度调整 iframe高度 js定时
<div class="main_contain" id="z_div" style="position: relative;"> ...
- 跨域iframe高度自适应(兼容IE/FF/OP/Chrome)
采用JavaScript来控制iframe元素的高度是iframe高度自适应的关键,同时由于JavaScript对不同域名下权限的控制,引发出同域.跨域两种情况. 由于客户端js使用浏览器的同源安全策 ...
- 跨域iframe高度自适应(兼容IE/FF/OP/Chrome)
采用JavaScript来控制iframe元素的高度是iframe高度自适应的关键,同时由于JavaScript对不同域名下权限的控制,引发出同域.跨域两种情况. 由于客户端js使用浏览器的同源安全策 ...
- (转)iFrame高度自适应
第一种方法:代码简单,兼容性还可以,大家可以先测试下: function SetWinHeight(obj) { var win=obj; if (document.getElementById) { ...
- Iframe高度自适应(兼容IEFirefox、同域跨域)
在实际的项目进行中,很多地方可能由于历史原因不得不去使用iframe,包括目前正火热的应用开发也是如此. 随之而来的就是在实际使用iframe中,会遇到iframe高度的问题,由于被嵌套的页面长度不固 ...
- Iframe高度自适应(兼容IE/Firefox、同域/跨域)
在实际的项目进行中,很多地方可能由于历史原因不得不去使用iframe,包括目前正火热的应用开发也是如此. 随之而来的就是在实际使用iframe中,会遇到iframe高度的问题,由于被嵌套的页面长度不固 ...
- jQuery解决iframe高度自适应代码
网上查了好多用着都不行,自己搞定了:在包含iframe的页面中加入以下脚本,基本思想是在iframe加载内容后重新设置高度,下面代码尽在IE6中用过,没在其他浏览器中测试. 代码如下: <scr ...
- JS 中根据iframe子页面自动iframe高度
注意:为使页面有更好的兼容性,在使用以下代码前,请将aspx页中头部的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional ...
随机推荐
- RIP子网划分及扩展详解
- SetThreadAffinityMask windows下绑定线程(进程)到指定的CPU核心
原帖地址:https://www.cnblogs.com/lvdongjie/p/4476766.html 一个程序指定到单独一个CPU上运行会比不指定CPU运行时快.这中间主要有两个原因:1)CPU ...
- 完美解决: org.apache.ibatis.binding.BindingException Invalid bound statement (not found)
异常描述: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 原因: springboot ...
- Gis基础知识,坐标 投影
1. 大地测量学 (Geodesy) 大地测量学是一门量测和描绘地球表面的学科,也包括确定地球重力场和海底地形. 1.1 大地水准面 (geoid) 大地水准面是海洋表面在排除风力.潮汐等其它影响,只 ...
- mysql起容器的最精简命令
亲测有效的 mysql 容器命令: #pull mysql:5.6 docker pull mysql:5.6 #起容器,映射3306端口,配置root用户密码 docker run -di --na ...
- Python3基础 for-else break、continue跳出循环示例
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- python设置socket的超时时间(可能使用locust压测千级并发的时候要用到,先记录在此)
在使用urllib或者urllib2时,有可能会等半天资源都下载不下来,可以通过设置socket的超时时间,来控制下载内容时的等待时间. 如下python代码 import socket timeou ...
- 迅速解决!!!!!启动Tomcat报错PermGen space
启动Tomcat报错 PermGen space 内存溢出 解决方法:扩大tomcat内存 修改参数:set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSi ...
- 报错:MetaException(message:Version information not found in metastore. )
报错背景: CDH安装完成hive后启动失败. 报错现象: [main]: Metastore Thrift Server threw an exception... MetaException(me ...
- 使用idea创建简单的webservice服务
New project: 生成HelloWorld.wsdl: 配置好tomcat后还需要加入 Axis 的库: 启动后,访问http://localhost:8080/services: 点击He ...