页面的高度 vh html,怎么让Html的高度自适应屏幕高度

在写css静态页面的时候让Html的高度自适应屏幕高度是一个常见的需求,比如你有一个需要置底的bottom按钮,需要在内容不足一屏的时候显示在屏幕的底部,在内容超过一屏的时候显示在所有内容的底部。

效果图:

130472370_1_2018041704442750

CSS的做法

html {

height: 100%;

display: table;

}

body {

display: table-cell;

height: 100%;

}1

2

3

4

5

6

7

8

9

又学了一种新方法,使用flex布局:

2

3

4

5

.container {

display: flex;

min-height: 100vh;

flex-direction: column;

}

header {

background: #cecece;

min-height: 100px;

}

content {

background: #bbbbbb;

flex: 1; /* 1 代表盡可能最大,會自動填滿除了 header footer 以外的空間 */

}

footer {

background: #333333;

min-height: 100px;

}1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

JS的做法

css的做法有时候会在定位的时候造成一些麻烦,可以尝试使用js去动态改变html的高度

基于zepto

$(document).ready(function(){

var windowHeight = $(window).height();

if($(this).height() < windowHeight){

$(this).height(windowHeight);

}

});1

2

3

4

5

6

原生js

window.onload = function(){

var winHeight = 0;

if (window.innerHeight){

winHeight = window.innerHeight;

}else if ((document.body) && (document.body.clientHeight)){

winHeight = document.body.clientHeight;

}

var html = document.getElementsByTagName('html')[0];

if(document.body.offsetHeight < windowHeight){

html.style.height = windowHeight;

}

};1

2

3

4

5

6

7

8

9

10

11

12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值