当前位置: 首页 > article >正文

vue项目中使footer始终保持底部的几种实现方法

在Vue 3和Vite项目中,实现底部footer保持在底部的方法有几种常见的方式:

1. 使用Flexbox布局:

这是最常用和推荐的方法,因为它简单且兼容性好。

<template>
  <div class="app-container">
    <header>Header</header>
    <main>Content</main>
    <footer>Footer</footer>
  </div>
</template>

<style scoped>
.app-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
}
</style>

2. 使用CSS Grid:

<template>
  <div class="app-container">
    <header>Header</header>
    <main>Content</main>
    <footer>Footer</footer>
  </div>
</template>

<style scoped>
.app-container {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
}
</style>

3. 使用绝对定位:

<template>
  <div class="app-container">
    <header>Header</header>
    <main>Content</main>
    <footer>Footer</footer>
  </div>
</template>

<style scoped>
.app-container {
  position: relative;
  min-height: 100vh;
}

main {
  padding-bottom: 50px; /* Footer的高度 */
}

footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 50px;
}
</style>

4. 使用calc()函数:

<template>
  <div>
    <header>Header</header>
    <main>Content</main>
    <footer>Footer</footer>
  </div>
</template>

<style scoped>
main {
  min-height: calc(100vh - 100px); /* 100px是header和footer的总高度 */
}
</style>

最常用的方法是使用Flexbox布局(方法1)。它具有以下优点:

  1. 简单易懂,代码量少。
  2. 兼容性好,支持大多数现代浏览器。
  3. 灵活性高,可以轻松适应不同的内容高度。
  4. 不需要知道header和footer的具体高度。

无论选择哪种方法,都要确保在不同屏幕尺寸下测试布局,以确保footer始终保持在底部,同时内容不会被遮挡。


http://www.kler.cn/a/399600.html

相关文章:

  • MYSQL_深入理解自连接_图书借阅情况(2/2)
  • Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?
  • 技术周总结 11.11~11.17 周日(Js JVM XML)
  • STM32 Option Bytes(选项字节)
  • 计算机组成原理笔记----基础篇
  • JMeter与大模型融合应用之JMeter日志分析服务化实战应用
  • 2024年11月16日 星期六 重新整理Go技术
  • Python_爬虫1_Requests库入门
  • STM32设计电流与温度监控python上位机监控平台设计
  • SQL Server中,CONVERT函数转换日期
  • 支持用户注册和登录、发布动态、点赞、评论、私信等功能的社交媒体平台创建!!!
  • Java在移动端小程序开发中的性能优化研究
  • Mac——基本操作使用整理
  • 【设计模式】行为型模式(五):解释器模式、访问者模式、依赖注入
  • ORA-01092 ORA-14695 ORA-38301
  • leetcode226:反转二叉树
  • 重修设计模式-行为型-备忘录模式
  • 计算机网络基础——针对实习面试
  • Rust:AtomicI8 还是 Mutex<u8>?
  • 网络延迟对Python爬虫速度的影响分析
  • cJson移植使用
  • 计算机组成与原理(2) basic of computer architecture
  • STM32 极速入门第一天基础拓展 驱动i2c屏幕 ( 使用PlatformIO开发STM32单片机 )
  • 文献阅读11.17
  • 半导体工艺与制造篇1 绪论
  • 【WPF】Prism学习(二)