您好,欢迎来到微智科技网。
搜索
您的当前位置:首页设置HTML页面最小高度为窗口高度的方法_html/css_WEB-ITnose

设置HTML页面最小高度为窗口高度的方法_html/css_WEB-ITnose

来源:微智科技网


先看html和效果图

     

设置页面最小高度为窗口高度的方法

var mainElem=document.getElementById("main-con"); document.onreadystatechange=function(){ if(document.readyState=="complete"){ mainElem.style.minHeight=(document.documentElement.clientHeight-120)+"px"; window.onresize=function(){ mainElem.style.minHeight=(document.documentElement.clientHeight-120)+"px"; }; } };

效果图:

这里有两种方法:

第一种是使用css实现:

1. 给main元素添加样式:

 min-height:100vh; margin-top:-60px;//数值等于页面头部高度 margin-bottom:-60px;//数值等于页面尾部高度

margin的高度是页面头部和尾部的高度。

2. 为了让main元素里的所有内容都显示出来,要增加相应的内边距,这里有两种方法:

 box-sizing:border-box;//将main元素的宽高计算方式更改为包含内边距和边框 padding-top:60px;//数值等于页面头部高度 padding-botom:60px;//数值等于页面尾部高度

或设置其子元素的内边距:

 .auto-height>div{ padding-top:60px;//数值等于页面头部高度 padding-botom:60px;//数值等于页面尾部高度 }

3.由于ie8不支持vh单位,所以如果需要兼容ie8的话,可以将html和body的高度都设为100%,再设置main元素的最小高度为100%(min-height:100%),其他的设置不变。

 html,body{ height:100%; }

第二种是使用JavaScript来实现:

使用JavaScript来动态设置main元素的最小高度即可,这里提供其中一种实现方式

 var mainElem=document.getElementById("main-con");//获得main元素 document.onreadystatechange=function(){ if(document.readyState=="complete"){//页面加载完成时执行 mainElem.style.minHeight=(document.documentElement.clientHeight-120)+"px";//初始化最小高度 window.onresize=function(){//窗口大小改变时改变main元素的最小高度 mainElem.style.minHeight=(document.documentElement.clientHeight-120)+"px"; }; } };

最小高度的值=窗口的高度-页面头部高度-页面尾部高度。

来自: http://my.oschina.net/hwxn/blog/5985

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务