使用带有引导程序的flexbox粘性页脚

时间:2015-02-08 01:46:05

标签: css css3 twitter-bootstrap flexbox

我正在尝试使用这个粘性页脚:

http://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/

body{
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

.content{
  flex: 1;
}

但它在<<宽度为768像素。

任何简单的css修复都可以让它适用于所有分辨率吗?

http://jsfiddle.net/2xvv5mod/

4 个答案:

答案 0 :(得分:8)

Bootstrap 4 现在默认使用flexbox,这样就可以更容易地获得一个粘性(非固定)页脚,而不需要为flexbox添加额外的CSS。你只需要确保身体有min-height ...

body {
  min-height: 100vh; 
}

然后使用flexbox实用程序类...

<body class="d-flex flex-column">
  <nav></nav>
  <main class="flex-grow"></main>
  </footer></footer>
</body>

Bootstrap 4 Flexbox Sticky Footer

答案 1 :(得分:6)

您需要为{0001}赋予width 100%

在这种情况下,那就是.content元素:

Updated Example

body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}
.content {
    flex: 1;
}
@media only screen and (max-width: 768px) {
    .content {
        width: 100%;
    }
}

答案 2 :(得分:1)

由于代码段与linked details并不完全匹配,因此我建议您避免混淆。再加上它有错字。只是为了让成帧标记充当固定点。

<body class="d-flex flex-column">
  <nav></nav>
  <section class="container-fluid flex-grow-1"></section>
  <footer></footer>
</body>

答案 3 :(得分:0)

增加垂直高度对我有用

<body class="d-flex flex-column min-vh-100">
    <nav>this is text</nav>
    <main class="flex-grow-1">this is text</main>
    </footer>this is text</footer>
</body>