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日

相关文章

  • ie8 body overflow hidden 无效的解决方法

    针对“ie8 body overflow hidden 无效”的问题,我们可以通过以下方法来解决: 问题分析 首先需要分析问题,为什么设置了 body 的 overflow: hidden,在 IE8 中无效呢?这是因为 IE8 及以下版本只能对文档的根元素 html 进行滚动条的控制,而不能对 body 元素进行控制,因此 overflow: hidden…

    css 2023年6月10日
    00
  • 超链接点击移动至上方以及点击过的css效果设置

    下面是关于“超链接点击移动至上方以及点击过的css效果设置”的完整攻略。 点击移动至上方 我们可以通过CSS来实现点击链接后,移动到链接上方的效果。具体实现方法如下: 首先,我们需要给链接的CSS添加一个:hover伪类,用来设置链接在鼠标悬浮时的样式。 a:hover{ position: relative; top: -1px; } 接下来,我们要通过给…

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

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

    css 2023年6月9日
    00
  • Dreamweaver网页中的文本怎么添加背景色?

    在Dreamweaver中,为网页中的文本添加背景色,可以通过以下几个步骤进行: 选中需要添加背景色的文本。 在顶部的工具栏中,点击“属性”选项卡。 在属性面板中,找到“背景颜色”一栏,点击右侧的颜色选择器。 在弹出的颜色选择器中,选择合适的背景色,可以在预览框中看到选中的颜色。 点击确定后,选中的文本就会自动添加所选的背景色。 示例1:添加单个文本的背景色…

    css 2023年6月9日
    00
  • 清除css、javascript及背景图在浏览器中缓存的简单方法

    清除浏览器缓存可以避免一些样式和脚本的更新问题,以下是清除css、javascript及背景图在浏览器中缓存的简单方法攻略。 手动清除浏览器缓存 手动清除浏览器缓存是最基本的操作方式,以下是详细步骤: 打开浏览器,进入设置界面,找到“历史记录”或“隐私设置”选项。 点击“清除浏览数据”或“删除浏览历史”,勾选“缓存图片和文件”、“cookies和其他网站数据…

    css 2023年6月9日
    00
  • 实例讲解使用CSS实现多边框和透明边框的方法

    为了实现多边框和透明边框,可以使用CSS中的伪元素以及内外边距来模拟实现。具体步骤如下: 使用CSS实现多边框的方法 首先,需要为元素设置一个基本的边框样式:border:1px solid black; 接着,为元素设置内边距:padding:10px; 使用CSS伪元素 before 和 after 创建两个新的边框。before 代表在元素内容之前创建…

    css 2023年6月9日
    00
  • 轩辕剑外传:云之遥 主线流程攻略(全)

    轩辕剑外传:云之遥 主线流程攻略(全) 简介 《轩辕剑外传:云之遥》是由台湾Softstar制作发行的角色扮演游戏。该游戏主要讲述了主角云初见在学习云之道的过程中,经历了一系列的冒险历程,并最终解开了隐藏在背后的阴谋。本攻略将详细介绍该游戏的主线流程,并提供一些攻略技巧,以帮助玩家更好地体验游戏。 流程攻略 第一章:云之初见 第一章主要是介绍了游戏的背景和基…

    css 2023年6月10日
    00
  • Flask FastCGI(处理Web请求)使用方法详解

    Flask是一款轻量级的Web应用框架,可以用于快速开发Web应用。其中,FCGI是一种处理Web请求的协议,它在承载Web服务器和应用程序之间,提供了可靠的通讯机制。 在实际应用中,我们可以使用Flask FastCGI来将Flask应用部署在Web服务器上,然后通过FastCGI协议与Web服务器进行通讯。 本文将介绍Flask FastCGI的使用方法…

    Flask 2023年3月13日
    00
合作推广
合作推广
分享本页
返回顶部