css如何让高度自适应


本文摘自PHP中文网,作者青灯夜游,侵删。

css让高度自适应的方法:1、给html元素设置“height:100%;display:table;”样式,给body元素设置“display:table-cell;height:100%;”样式即可。2、使用flex布局。

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

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

效果图:

这里写图片描述

CSS的做法

方法1:

1

2

3

4

5

6

7

8

9

html {

  height: 100%;

  display: table;

}

 

body {

  display: table-cell;

  height: 100%;

}

方法2:使用flex布局:

1

2

3

4

5

<div class="container">

  <header></header>

  <content></content>

  <footer></footer>

</div>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

.container {

  display: flex;

  min-height: 100vh;

  flex-direction: column;

}

 

header {

  background: #cecece;

  min-height: 100px;

}

 

content {

  background: #bbbbbb;

  flex: 1; /* 1 代表?M可能最大,??自?犹?M除了 header footer 以外的空?g */

}

 

footer {

  background: #333333;

  min-height: 100px;

}

JS的做法

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

基于zepto

1

2

3

4

5

6

$(document).ready(function(){

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

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

      $(this).height(windowHeight);

  }

});

原生js

1

2

3

4

5

6

7

8

9

10

11

12

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;

  }

};

更多编程相关知识,请访问:编程入门!!

以上就是css如何让高度自适应的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

使用<nav>链接滚动到页面相应部分

css怎么实现超出两行显示省略

css不继承父类的属性有哪些

css怎么实现字体描边效果

怎么设置css字体单行居中

css怎么选择奇偶行元素

css怎么控制字间距

css如何去除inline-block元素间的间距?(多种方法)

Html中的注释怎么写?Html中的注释符号又是什么?(附实例)

Html多图上传预览功能的实现

更多相关阅读请进入《Html》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...