设置HTML页面最小高度为窗口高度的方法_html/css_WEB-ITnose
程序员文章站
2022-05-11 16:00:52
...
先看html和效果图
设置页面最小高度为窗口高度的方法
效果图:
这里有两种方法:
第一种是使用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/598645
推荐阅读
-
有一个页面从左到右分为三块,中间一块div高度是随着数据的增加而边长,怎样使左右2边的div也边长?_html/css_WEB-ITnose
-
高度为0的块级元素的下外边距为什么没有效果?_html/css_WEB-ITnose
-
有一个页面从左到右分为三块,中间一块div高度是随着数据的增加而边长,怎样使左右2边的div也边长?_html/css_WEB-ITnose
-
为什么没法设置span的宽度和高度_html/css_WEB-ITnose
-
兼容IE6的最小高度代码实例_html/css_WEB-ITnose
-
兼容IE6的最小高度代码实例_html/css_WEB-ITnose
-
DIV+CSS 布局一行两列,左列固定宽度,右列自适应宽度;设置最小宽度,窗口小的时候显示滚动条._html/css_WEB-ITnose
-
CSS设置div的最小高度和最小宽_html/css_WEB-ITnose
-
左右两边高度自适应,右边宽度为浏览器宽度-200px。这个是怎么理解的呀?_html/css_WEB-ITnose
-
CSS height属性设置元素的高度_html/css_WEB-ITnose