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

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

WBOY
Libérer: 2016-06-24 11:30:23
original
3716 Les gens l'ont consulté

先看html和效果图

<!DOCTYPE html><html> <head>  <style>   body,p{    margin:0;   }   .header,.footer{    background:#000;    height:60px;   }      /*兼容ie8   html,body{    height:100%;   }   */   .auto-height{    /*兼容ie8     min-height:100%;    */    min-height:100vh;    margin-top:-60px;    margin-bottom:-60px;    /*设置内边距方式一*/    box-sizing:border-box;    padding-top:60px;    padding-bottom:60px;   }   /*设置内边距方式二   .auto-height>div{    padding-top:60px;    padding-botom:60px;   }   */  </style> </head> <body>  <div class="header">  </div>  <div class="main auto-height" id="main-con">   <div>    <p>设置页面最小高度为窗口高度的方法</p>   </div>  </div>  <div class="footer">  </div>  <!-- script>   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";     };    }   };     </script --> </body></html>
Copier après la connexion

效果图:

这里有两种方法:

第一种是使用css实现:

1. 给main元素添加样式:

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

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

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

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

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

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

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

   html,body{    height:100%;   }
Copier après la connexion

第二种是使用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";     };    }   };
Copier après la connexion

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

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

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal