首页 > web前端 > css教程 > 正文

css如何让高度自适应

青灯夜游
发布: 2023-01-07 11:46:05
原创
24099 人浏览过

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

css如何让高度自适应

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

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

效果图:

这里写图片描述

CSS的做法

方法1:

html {
  height: 100%;
  display: table;
}

body {
  display: table-cell;
  height: 100%;
}
登录后复制

方法2:使用flex布局:

<div class="container">
  <header></header>
  <content></content>
  <footer></footer>
</div>
登录后复制
.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;
}
登录后复制

JS的做法

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

基于zepto

$(document).ready(function(){
  var windowHeight = $(window).height();
  if($(this).height() < windowHeight){
      $(this).height(windowHeight);
  }
});
登录后复制

原生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(&#39;html&#39;)[0];
  if(document.body.offsetHeight < windowHeight){
      html.style.height = windowHeight;
  }
};
登录后复制

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

以上是css如何让高度自适应的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!