设置footer位置:让页面footer在正文内容不够是置于屏幕底部,当正文内容超过屏幕高度时置于正文底部

1 篇文章 0 订阅
本文详细介绍如何使用Flex布局确保网页Footer在内容不足时置于底部,内容过多时紧随正文之后。通过设置div的display属性为flex,并调整flex-direction、flex-grow等属性,实现响应式设计。
摘要由CSDN通过智能技术生成

让页面footer在正文内容不够是置于屏幕底部,当正文内容超过屏幕高度时置于正文底部

//html布局
<template>
  <div class="page-container">
      <header-nav></header-nav>
        <router-view class="main-layout"></router-view>
        <footer-nav></footer-nav>
      
  </div>
</template>

启用 flex模式,我们将class="page-container"的div的 display 属性设置为 flex, 然后将方向属性设置为列, (默认是行,也就是横向布局)

.page-container {
  padding: 0;
  width: 100%;
  min-height:100%;
  height: 100%;
  margin: 0;
  display: flex;//启用flex
  flex-direction: column;//设置为列
}

最后设置header 和footer 只占用他们应该占用的空间,将剩余的空间全部交给主体内容区域

flex-grow:元素在同一容器中对可分配空间的分配比率,及扩展比率
flex-shrink:如果空间不足,元素的收缩比率
flex-basis:元素的伸缩基准值

//header部分css
.header{
  position: fixed;
  top: 0;
  left: 0;
  width:100%;
  height:80px;
  z-index: 9999;
  background: darkslateblue;
  /* header 采用固定的高度,只占用必须的空间 */
  /* 0 flex-grow, 0 flex-shrink, auto flex-basis */
  flex: 0 0 auto;
}
//主体部分css
.main-layout {
  margin-top: 80px;
  width: 100%;
  /* 将 flex-grow 设置为1,该元素会占用所有的可使用空间而其他元素该属性值为0,因此不会得到多余的空间*/
  /* 1 flex-grow, 0 flex-shrink, auto flex-basis */
  flex: 1 0 auto;
}
//footer部分css
.footer{
  text-align: center; 
  width:100%;
  height: 60px;
  line-height: 60px;
  clear: both;
  background:rgb(61, 60, 60);
  color: white;
  /* 和 header 一样,footer 也采用固定高度*/
  /* 0 flex-grow, 0 flex-shrink, auto flex-basis */
  flex: 0 0 auto;
}

踩了很多坑,总结一下,记录!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值