element ui 之el-footer沉底效果实现方案

如需转载请标明出处

一、前言

       大家好,我是Darcy(达希),我目前正在学习前端,使用的组件库是element ui,今天和大家聊一聊如何实现el-footer沉底效果。

二、问题

      element组件库有一个container布局容器,其包含5种容器组件,分别是外层容器<el-container>、顶栏容器<el-header>、侧边栏容器<el-aside>、主要区域容器<el-main>和底栏容器<el-footer>。可以通过这5种容器组件实现一些常见的页面布局。我使用的布局方式如下图,由于页面主体内容高度不定,出现了两种情况。

 2.1 主体内容较少时,footer不在页面底部,而是跟在主体内容后,挂在页面中下部分,但是我们需要footer固定在页面的底部。但是如果我们直接将其固定,会出现第二种情况,见2.2。

2.2 主体内容较长时,如果之前设置了footer位置固定在页面底部,不管主体内容有没有浏览到最后,footer都会一直悬浮在页面底部。但是我们需要的是主体内容浏览完才展示footer。

三、解决方案

       这次我使用flex布局中的justify-content:space-between和min-height,来实现footer的沉底效果。代码如下:

<template>
  <div class="index">
    <el-container>
      <el-header class="header-parent-class">
        <div class="header-div-class">
          <span>header</span>
        </div>
      </el-header>
      <el-main class="main-parent-class">
        <div>
          <span>content</span>
        </div>
      </el-main>
      <el-footer>
        <div class="footer-div">
          <span class="footer-span">&copy; Darcy</span>
        </div>
      </el-footer>
    </el-container>
  </div>
</template>
<style lang="scss" scoped>
.index {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.el-container {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content:space-between;
}
.el-main {
  height: 100%;
  overflow: hidden;
}
.el-footer {
  display: flex;
  height: 4vh;
  width: 100%;
  align-items: center;
}

四、结束语

       以上就是我实现footer沉底效果的一些经验,分享给大家,希望和大家一起学习,也希望大家多多三连,给我鼓励!谢谢大家!

参考:https://www.jb51.net/css/675295.html

  • 15
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
el-footerElement UI库中的一个组件,用于在页面底部添加一个固定的页脚。它的使用方式如下: ```html <template> <div> <el-header>Header</el-header> <el-main>Main Content</el-main> <el-footer>Footer</el-footer> </div> </template> ``` 在上面的例子中,el-header、el-main和el-footer分别代表页面的头部、主体和底部。el-footer会被固定在页面底部,无论页面内容的高度是多少。 如果你想让el-footer沉底,即当页面内容不足以撑满整个屏幕时,让el-footer始终保持在页面底部,可以使用CSS中的flex布局来实现。具体的代码如下: ```html <template> <div class="container"> <div class="content"> <!-- 页面内容 --> </div> <el-footer class="footer">Footer</el-footer> </div> </template> <style> .container { display: flex; flex-direction: column; min-height: 100vh; } .content { flex: 1; } .footer { margin-top: auto; } </style> ``` 上面的代码中,我们创建了一个flex容器(class为container),设置了它的`min-height`为`100vh`,确保容器至少占满整个屏幕高度。然后,将页面内容放在一个div(class为content)中,并设置其`flex`属性为1,让它占满剩余的空间。最后,将el-footer的`margin-top`属性设置为`auto`,使其自动填充剩余的空间,从而将el-footer沉底。 这样,无论页面内容的高度是多少,el-footer都会保持在页面底部。希望对你有帮助!如有其他问题,请继续提问。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值