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日

相关文章

  • div style属性中设置其border无效是什么情况如何解决

    在设置 div 元素的 style 属性时,如果设置其 border 属性无效,可能是由于以下原因: div 元素的 display 属性为 inline 或 inline-block,而不是 block。在这种情况下,border 属性将被忽略。解决方法是将 display 属性设置为 block。 div 元素的 box-sizing 属性为 borde…

    css 2023年5月18日
    00
  • css实现3d立体魔方的示例代码

    实现3D立体魔方的示例代码需要使用CSS 3D transform属性。 设定CSS样式 首先,我们需要给魔方定义一个立方体容器,然后给每个面分别定义CSS样式。对于每一个面,需要设置其宽高和位置。 下面是一个示例: .cube { position: relative; margin: 100px auto; transform-style: preser…

    css 2023年6月10日
    00
  • 利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)

    我来为您详细讲解利用前端HTML+CSS+JS开发简单的TODOLIST功能的完整攻略。 1. 思路 要开发一个TODOLIST功能,需要考虑以下几点: 任务的添加、删除、修改 任务的状态切换(完成/未完成) 通过以上几点的考虑,我们可以确定需要以下几个功能模块: 添加任务模块 显示任务列表模块 修改/删除任务模块 切换任务状态模块 在这些模块中,我们需要使…

    css 2023年6月13日
    00
  • 电脑怎么设置网页中视频的颜色? 电脑视频颜色的调节方法

    以下是电脑设置网页中视频颜色和电脑视频颜色调节的完整攻略。 调节网页中视频颜色 方法一:使用浏览器插件 可以通过安装浏览器插件来调节网页中视频的颜色。 以 Chrome 浏览器为例,可以安装“Video Adjust for YouTube”插件。安装后,打开YouTube网站并播放视频,点击插件栏中的图标,就可以看到视频颜色的调节菜单。用户可以通过调节亮度…

    css 2023年6月9日
    00
  • JS仿QQ好友列表展开、收缩功能(第一篇)

    下面我将详细讲解 “JS仿QQ好友列表展开、收缩功能(第一篇)” 的完整攻略。 简介 本篇文章主要是介绍如何使用 JavaScript 编写一个仿 QQ 好友列表的展开、收缩功能,实现点击好友分组,可以收缩或展开该分组中的好友。 HTML结构 我们先来看一下需要实现的 HTML 结构: <div class="friend-list&quot…

    css 2023年6月10日
    00
  • jQuery创建平滑的页面滚动(顶部或底部)

    当我们需要在网页中创建平滑的页面滚动时,可以通过使用jQuery的动画效果实现。下面是实现平滑滚动的完整攻略。 步骤一:添加jQuery库 在网页头部添加jQuery库。 <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> 步骤二:…

    css 2023年6月10日
    00
  • 纯CSS实现hover图片pop-out弹出效果的实例代码

    关于“纯CSS实现hover图片pop-out弹出效果的实例代码”,我来详细讲解一下。 什么是hover图片pop-out弹出效果 先来了解一下这个效果的定义。hover图片pop-out弹出效果是指鼠标放在图片上时,使图片缩小并向上平移一定距离,形成一个出现和消失的效果。 实现方法 实现这个效果的方法可以通过CSS的transition属性和hover伪类…

    css 2023年6月10日
    00
  • 巧用 CSS3的webkit-box-reflect 倒影实现各类动效

    下面就为您详细讲解“巧用 CSS3的webkit-box-reflect 倒影实现各类动效”的完整攻略。 什么是CSS3的webkit-box-reflect CSS3的webkit-box-reflect是一种CSS3的属性,可以在盒子(box)下面添加一个倒影。它是Webkit浏览器的私有属性,只能在Webkit内核的浏览器中使用,比如Chrome和Sa…

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