stricky footer的三种解决方案详解

“sticky footer”的目标就是让footer永远处于页面底部,无论页面的内容高度是多少。下面介绍三种实现“sticky footer”的方法。

方法一:使用flex布局

flex布局可以很容易地实现sticky footer。步骤如下:

  1. 在html里添加如下代码:
<body>
  <div class="wrapper">
    <div class="content">这里是主要内容</div>
    <div class="footer">这里是footer</div>
  </div>
</body>
  1. 在CSS中添加如下代码:
html, body {
  height: 100%;
  margin: 0;
}

.wrapper {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.content {
  flex: 1;
}

.footer {
  flex-shrink: 0;
}

以上代码中,.wrapper 为整个页面的容器,.content 为主要内容区域,.footer 为页脚。display: flex 可以将容器定义为flex布局,flex-direction: column 可以让子元素按垂直方向排列。flex: 1 可以让 .content 元素填充容器剩余的高度,flex-shrink: 0可以防止footer在内容不足时被压缩。

下面是一个示例:

https://codepen.io/paolodet2022/pen/DamvqJ

方法二:使用grid布局

另一个实现sticky footer的方法是使用grid布局。步骤如下:

  1. 在html里添加如下代码:
<body>
  <div class="wrapper">
    <div class="content">
      这里是主要内容
    </div>
    <div class="footer">
      这里是footer
    </div>
  </div>
</body>
  1. 在CSS中添加如下代码:
html, body {
  height: 100%;
  margin: 0;
}

.wrapper {
  min-height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.content {
  grid-row: 1 / 2;
}

.footer {
  grid-row: 3 / 4;
}

以上代码中,.wrapper 为整个页面的容器,.content 为主要内容区域,.footer 为页脚。display: grid 可以将容器定义为grid布局,grid-template-rows: auto 1fr auto; 可以将容器分成三行,使内容区域在第一行,页脚区域在第三行。

下面是一个示例:

https://codepen.io/paolodet2022/pen/ZEQaQrd

方法三:使用绝对定位

第三种方法是使用绝对定位。步骤如下:

  1. 在html里添加如下代码:
<body>
  <div class="wrapper">
    <div class="content">
      这里是主要内容
    </div>
  </div>
  <div class="footer">
    这里是footer
  </div>
</body>

注意这里的 .footer 不是 .wrapper 的子元素。

  1. 在CSS中添加如下代码:
html, body {
  height: 100%;
  margin: 0;
}

.wrapper {
  min-height: 100%;
  position: relative;
  padding-bottom: 50px; /* 与页脚高度相等 */
}

.content {
  padding: 38px 0; /* 依次为: 上内边距, 下内边距  */
  margin-bottom: -38px; /* 上下内边距总计为footer高度 */
}

.footer {
  position: absolute;
  bottom: 0;
  height: 50px; /* 与上面padding-bottom相等 */
}

以上代码中,.wrapper 为整个页面的容器,position: relative 可以将其变成相对定位。并通过 padding-bottom 加上与footer高度相等的一段底部padding。 .content 为主要内容区域,通过 padding-toppadding-bottom 来让内容区域与 footer 有一段距离。.footer 利用绝对定位,让footer位于页面底部。

下面是一个示例:

https://codepen.io/paolodet2022/pen/YzpvMEb

以上就是三种实现“sticky footer”的方法,可以根据实际情况选择不同的实现方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:stricky footer的三种解决方案详解 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 微信小程序 二维码canvas绘制实例详解

    微信小程序 二维码canvas绘制实例详解 一、前言 在微信小程序中,我们经常需要使用二维码来扫描获取数据或者分享给其他人,而在实际开发中,我们经常需要动态生成二维码并将其展示在页面上。在实现该功能时,可以使用canvas来绘制二维码,本文将详细讲解如何使用canvas来生成二维码的功能。 二、实现步骤 1. 引入QRCode.js文件 QRCode.js是…

    css 2023年6月11日
    00
  • 利用jquery禁止外层滚动条的滚动

    禁止外层滚动条的滚动非常常见,可以通过jQuery实现。以下是具体步骤: 准备工作 首先,在HTML页面中需要有一个包含需要禁止滚动条的元素容器,例如: <div class="container"> <div class="content"> <!– 页面内容 –> </…

    css 2023年6月10日
    00
  • javascript+HTML5 canvas绘制时钟功能示例

    让我详细地讲解“JavaScript+HTML5 Canvas绘制时钟功能示例”的完整攻略。 简介 在这个项目中,我们将使用JavaScript和HTML5的Canvas API来绘制一个时钟。 HTML5 Canvas是用于绘制2D图像的HTML元素。它可以用于绘制各种形状,如直线、圆形、多边形、图像等等。 在这个项目中,我们将使用Canvas API来绘…

    css 2023年6月10日
    00
  • CKEditor4配置与开发详细中文说明文档

    下面是关于“CKEditor4配置与开发详细中文说明文档”的完整攻略。 1. CKEditor简介 CKEditor是一款优秀的开源的在线 WYSIWYG HTML 编辑器。 CKEditor提供了非常丰富的功能,可以快速开发Web应用中的富文本编辑器,比如博客、论坛、邮件编辑等应用场景。 2. 安装与配置 2.1 下载与安装 下载CKEditor的最新版本…

    css 2023年6月9日
    00
  • 详解移动端实现内滚动的四种解决方案

    下面我将详细讲解“详解移动端实现内滚动的四种解决方案”的完整攻略。 详解移动端实现内滚动的四种解决方案 移动端的屏幕尺寸相对较小,因此在实现页面布局时,经常需要使用内滚动来显示页面内容。而移动端内滚动的实现方式又会经常变化,下面介绍其中的四种解决方案。 方案一:使用 -webkit-overflow-scrolling 属性 这是一种使用 CSS3 前缀属性…

    css 2023年6月10日
    00
  • 27款经典的CSS框架小结 网页制作必备

    27款经典的CSS框架小结 网页制作必备 什么是CSS框架 CSS框架是前端开发中常用的一种工具,它为网页提供了一套标准化的样式代码,包括常用的布局、字体、按钮、表格等等。它的主要作用是让前端开发工程师更加便捷、高效、快速地进行网页开发。 为什么需要使用CSS框架 使用CSS框架的好处主要有以下几点: 提高开发效率:使用CSS框架可以快速配置网页的样式,减少…

    css 2023年6月10日
    00
  • 纯CSS实现酷黑风格三级下拉菜单效果代码

    下面是详细讲解“纯CSS实现酷黑风格三级下拉菜单效果代码”的完整攻略。 版本要求 CSS3 HTML5 效果演示 点击此处查看效果演示 示例HTML代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>纯C…

    css 2023年6月10日
    00
  • BootStrap入门教程(二)之固定的内置样式

    BootStrap入门教程(二)之固定的内置样式 简介 在 BootStrap入门教程(一)之简介与环境搭建 的文章中,我们介绍了如何安装 BootStrap 并建立一个完整的网页框架。接下来,我们将更加深入地了解 BootStrap 的内置样式。 在 BootStrap 中,有众多的内置 CSS 样式,可以避免我们重复地编写重复的 CSS 代码。同时,这些…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部