Bootstrap 4 - 粘性页脚 - 动态页脚高度

Posted

技术标签:

【中文标题】Bootstrap 4 - 粘性页脚 - 动态页脚高度【英文标题】:Bootstrap 4 - Sticky footer - Dynamic footer height 【发布时间】:2018-02-05 07:51:57 【问题描述】:

我需要在我的页面上放置一个粘性页脚,但是我没有为我的页脚设置一个明确的高度。在较小的屏幕上 - 行调整大小和页脚变得更长。

因此,getbootstrap 提供的默认粘性页脚示例不起作用,因为它需要固定的页脚高度。

有什么方法可以实现吗?

/* Sticky footer styles
-------------------------------------------------- */
html 
  position: relative;
  min-height: 100%;

body 
  /* Margin bottom by footer height */
  margin-bottom: 60px;

.footer 
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  height: 60px;
  line-height: 60px; /* Vertically center the text there */
  background-color: #f5f5f5;



/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */

body > .container 
  padding: 60px 15px 0;


.footer > .container 
  padding-right: 15px;
  padding-left: 15px;


code 
  font-size: 80%;

【问题讨论】:

How to make a fluid sticky footer的可能重复 不是重复的,这是个老问题,而且这个问题是 bootstrap 4 特有的。 【参考方案1】:

既然 Bootstrap 4 是 flexbox,就可以使用...

<wrapper class="d-flex flex-column">
    <nav>
    </nav>
    <main class="flex-fill">
    </main>
    <footer>
    </footer>
</wrapper>

body, wrapper 
   min-height:100vh;


.flex-fill 
   flex:1 1 auto;

演示:Bootstrap 4.0 Sticky Footer

注意:flex-fill 实用程序类是included in the Bootstrap 4.1 and later 版本。因此,在发布之后,将不再需要用于 flex-fill 的额外 CSS。

Bootstrap 4.1 开始,有一个 min-vh-100 实用程序类,这意味着您不需要额外的 CSS。

演示:Bootstrap 4.1+ Sticky Footer

【讨论】:

【参考方案2】:

一个非常简单的方法是使用导航栏作为页脚。它带有一个非常方便的固定底部类。要更改间距,您可以在此处查看文档...https://getbootstrap.com/docs/4.2/utilities/spacing/

<nav class="navbar fixed-bottom navbar-light bg-light">
  <a class="navbar-brand" href="#">Fixed bottom</a>
</nav>

【讨论】:

我发现的最好最简单的【参考方案3】:

使用min-height 代替 height 使其高度可变。

https://codepen.io/hunzaboy/pen/prxgRb

同样在较小的屏幕上,只需删除绝对位置并使其成为静态。

【讨论】:

这可行,但不是“要走的路”,因为 BS4 现在是 flexbox。

以上是关于Bootstrap 4 - 粘性页脚 - 动态页脚高度的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 粘性页脚

粘性页脚引导程序 4 [重复]

如何创建一个与 Bootstrap 3 配合得很好的粘性页脚

带图像的 Bootstrap 粘性页脚

Twitter Bootstrap 粘性页脚和 Jade

css bootstrap 3粘性页脚