实现不同分辨率、不同浏览器下高度自适应、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 ...
随机推荐
- selenium定位元素的方法
1.id定位: find_element_by_id() 从上面定位到的搜索框属性中,有个id="kw"的属性,我们可以通过这个id定位到这个搜索框 代码: # coding = ...
- python定制后处理云图
用后处理软件处理的云图会出现这样或那样的不满意,其实我们可以将求解数据导出以后,借助python定制云图. 我们以fluent为例 求解完成之后,我们将我们需要做云图的物理量以ASCII导出 如下的p ...
- PKUWC2020 游记
因为CSP-S挂的并不厉害,蜜汁来到了PKU,所以有了这篇游记. DAY 0 上午在机房颓废,中途还整了一个出校证. 九点多,两个THU的大神去拿笔记本和手机颓废了,不久被两个教练拉着和kx跑了出去. ...
- 用sublime3编写运行16位汇编程序_详细教程
最近需要学8086汇编,课堂教学竟然是PPT看代码,然而不运行程序是没法学编程的.网上的教程有很多坑点,摸索出了正确的步骤. 1.安装sublime3.安装MASM32.64位系统安装DOSBOX(因 ...
- fastdfs通过docker安装
安装前准备 # yum install -y git #下载git # cd /data # mkdir fastdfs # cd fastdfs # git clone https://github ...
- [转]MATLAB 2018b 中文版下载与安装教程
MATLAB R2018b_win64.iso 压缩包一个 MATLAB R2018b Win64 Crack 压缩包一个 一.下载与安装 1 下载中文原程序安装包和破解文件,链接: https: ...
- (信贷风控八)行为评分卡模型(B卡)的介绍
python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...
- linux内核在哪里处理设备树中compatible为"syscon"的节点?
答: linux内核源码drivers/mfd/syscon.c中的of_syscon_register()接口对regmap_config进行初始化 注: linux内核源码版本为5.1.0
- c++ 网络编程基础
目录 c++ 网络编程 建立socket 绑定socket 建立连接 监听 服务器端接收 数据发送和接收 面向连接的数据发送 面向连接的数据接收 无连接的数据发送 无连接的数据接收 关闭socket ...
- typeScript中的数据类型
/* typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean) 数 ...