css - css页面底部固定的几种方法

这篇具有很好参考价值的文章主要介绍了css - css页面底部固定的几种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在日常开发中,在移动端经常会有一些按钮需要固定在页面的底部(比如:提交按钮,发布按钮,确定按钮,下一步…等等);所以这边总结了3种比较常用好使的固底方法;

效果图如下:
css固定在底部,css,javascript,前端,底部固定

1,使用相对定位和绝对定位

注意:当页面高度高于可视窗口的时候(也就是出现了滚动条);这时如果再使用绝对定位 向上滑动的时候,就已经不固底了,因为页面进来定位只计算一次;

解决方案:使用fixed固定定位,永远把footer固定到底部,有滚动条也是不影响的;

<template>
  <div class="container">
    <header style="background: #f9cc9d">Header</header>
    <main style="background: #c3d08b">Content</main>
    <footer style="background: #2b93f5">Footer</footer>
  </div>
</template>

<script>
export default {
};
</script>
<style scoped lang="scss">
// 第一种方式
.container {
// 使用子绝父相
  position: relative;
  height: 100vh;
  background: #f1f3f4;
  header, main,footer {
    height: 80px;
    line-height: 80px;
    width: 100%;
  }
  // 设置绝对定位
  footer{
    height: 60px;
    line-height: 60px;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
</style>

2,使用flex弹性布局,将footer的margin-top设置为auto

注意:在浏览器中,100vh的高度包括了底部的工具栏,而我们真实需要的高度其实是浏览器的可视高度也就是100%;
在使用100vh的时候,手机浏览器底部的操作栏可能会遮挡底部按钮;
所以这时页面的高度应该使用100%;

<template>
  <div class="container">
    <header style="background: #f9cc9d">Header</header>
    <main style="background: #c3d08b">Content</main>
    <footer style="background: #2b93f5">Footer</footer>
  </div>
</template>
<script>
export default {};
</script>
<style scoped lang="scss">
// 第二种方式
.container {
  display: flex;
  flex-direction: column; // 设置成上下排列方式
  height: 100vh;
  background: #f1f3f4;
  header,  main,  footer {
    height: 80px;
    line-height: 80px;
    width: 100%;
  }
  // 使用
  footer {
    margin-top: auto;
    height: 60px;
    line-height: 60px;
  }
}
</style>

3,通过css内置函数calc()动态计算内容的高度

min-height: calc(100vh - 130px); 130 其实就是 header和footer的高度;文章来源地址https://www.toymoban.com/news/detail-558394.html

<template>
  <div class="container">
    <header style="background: #f9cc9d">Header</header>
    <main style="background: #c3d08b">Content</main>
    <footer style="background: #2b93f5">Footer</footer>
  </div>
</template>

<script>
export default {};
</script>
<style scoped lang="scss">
// 第三种方式
.container {
  height: 100vh;
  background: #f1f3f4;
  header {
    height: 80px;
    line-height: 80px;
    width: 100%;
  }
  footer{
    height: 50;
    line-height: 50px;
  }
  // 内容区 130 其实就是 header和footer的高度
  main{
    min-height: calc(100vh - 130px);
  }
}
</style>

到了这里,关于css - css页面底部固定的几种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS中隐藏页面元素的几种方式和区别

    前言、 在平常的样式排版中,我们经常遇到将某个模块隐藏的场景,通过css隐藏的元素方法有很多种,它们看起来实现的效果是一致的,但实际上每一种方法都有一丝轻微的不同,这些不同决定了在一些特定场合下使用哪一种方法。 实现方法综合、 通过css实现隐藏元素方法

    2024年01月20日
    浏览(70)
  • 手机web前端调试页面的几种方式

    PC端web页面调试比较容易,这里主要说几种移动端调试的方法,从简单到复杂、从模拟调试到远程调试,大概分为几部分: 1、Chrome DevTools(谷歌浏览器)的模拟手机调试 2、weinre(web inspector remote)远程调试工具 3、微信的“web开发者工具”,集成了Chrome DevTools和weinre,做的比较好

    2024年02月09日
    浏览(42)
  • JavaScript中数据过滤的几种方法

    JavaScript是一种广泛使用的编程语言,它提供了多种方法来对数据进行过滤。在本文中,我们将介绍JavaScript中常见的几种数据过滤方法,并提供相应的示例。 filter()方法是JavaScript数组对象的一个内置方法,它创建一个新数组,其中包含符合指定条件的所有元素。该方法接受一

    2024年02月04日
    浏览(62)
  • 前端h5页面和后端php服务的几种部署方式

    和java后端服务的部署不同,前端h5的部署有好几种。 CDN+OSS nginx反向 把输出物全部拷贝到后端 所以,这就带来了部署上的歧义,到底该用哪种部署方式呢? 本文以前端h5搭配后端php程序为示例,试着讨论一下他们之间的配合部署。 这里的前端h5是仅限静态页面,不包括nodej

    2024年01月17日
    浏览(46)
  • CSS实现: 水平居中 的几种方法

    实现方法: 1、添加 margin 值 auto 2、定位 position(子绝父相) + 偏移值 left + margin-left 回退 [ 需要计算,有点 麻烦 ] 3、定位 position(子绝父相) + 偏移值 left + CSS-2d transform 4、文字居中 text-align:center; + 行内块元素 5、弹性盒子布局 [ 推荐 ] 示例 代码实现: 原始效果图: 接下来,

    2024年02月03日
    浏览(56)
  • CSS样式穿透的几种方法

    通常在引入第三方 UI 组件库(如 element-ui或者easyUI等等),需要自定义组件样式时,但由于样式使用了 scoped 属性(为避免组件之间的样式相互影响),导致无法直接覆盖原组件的样式,这时就需要用到样式穿透 。 CSS使用样式穿透的方法有以下几种: 1、使用 符号:  该方法

    2024年02月11日
    浏览(40)
  • JavaScript中 判断网络状态的几种方法

    1. 使用 Navigator onLine 属性 Navigator onLine 属性判断浏览器是否在线,在线返回 true,离线返回 false; Navigator onLine 是只读属性,所有主流浏览器都支持 onLine 属性; 2. 使用 ononline、onoffline 事件 这两个方法属于 “侦听器”,在网络连接 / 断开的瞬间会触发(当网络从离线变为在

    2024年01月24日
    浏览(49)
  • vue前端实现将页面显示内容生成pdf文件的几种方法,html2canvas、dom-to-image、jspdf(带分页)基本使用以及介绍

    实际开发需求:vue项目中,根据数据结构生成echarts图表组件,生成带有样式的图表以后,点击下载按钮,把图表以pdf格式的文件下载到本地 实现思路:将vue界面的echarts组件生成图片,然后使用插件将生成的图片放入pdf中,再实现pdf文件的下载 涉及框架以及插件:vue、echar

    2024年01月25日
    浏览(48)
  • CSS实现图片放大缩小的几种方法

    参考 常用使用img标签,制定width或者height的任意一个,图片会自动等比例缩小 但是不知道为什么我在uniapp小程序中这样写并没有等比缩小 使用CSS3新属性,transform的scale 大于1: 放大 小于1: 缩小 使用背景图设置图片 https://www.runoob.com/cssref/css3-pr-background.html

    2024年01月19日
    浏览(67)
  • css实现三角形的几种方法

    css实现三角形的方法:1、使用边框实现三角形,利用透明边框和实色边框的组合,可以创建不同方向和大小的三角形;2、使用伪元素实现三角形,通过使用伪元素来创建一个占据父元素一半大小的实心三角形;3、使用transform属性实现三角形,通过调整旋转角度可以创建不同

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包