用flex布局实现Sticky Footers

作者: 机智的马里奥 | 来源:发表于2017-05-04 22:22 被阅读90次

Sticky Footer 布局是在开发中经常会用到的一种布局,它的效果简而言之就是当内容的高度小于屏幕的高度时,footer组件会停留在屏幕的最下方,但如果内容高度大于屏幕高度,则footer会被推到内容的最下方.本文将讨论如何使用flex布局来解决这个问题。

HTML

  <body>
  <header>
    <h1>Header</h1>
  </header>
  <div class="main">
    <div>Main Content </div>
  </div>
  <footer>
    <h1>Sticky Footer</h1>
  </footer>
</body>

CSS

  <style>
    html,body {
      display: flex;
      flex-flow: column;
      min-height: 100vh;
    }

    .main {
      flex: 1;
    }
  </style>

解释

这里采用了flex布局,flex-flow:column定义了纵向布局,min-height:100vh定义了body的最小高度是100%的视窗高度。.main中的样式flex属性是flex-grow,flex-shrink和flex-basis的简写,分别代表项目的放大比例(默认0),项目的缩小比例(默认1)和项目在分配多余空间之前占据的主轴空间(默认auto,即项目的原大小),这里flex:1等同于flex:1 1 0%,如果其他项目的flex都是flex:1,则会等分剩余空间。但假如<footer>设置了flex:2,那么页脚的高度将会是主内容高度的2倍。总的来说,为了实现sticky footer,min-heightflex的定义缺一不可。

相关链接

相关文章

  • 用flex布局实现Sticky Footers

    Sticky Footer 布局是在开发中经常会用到的一种布局,它的效果简而言之就是当内容的高度小于屏幕的高度时,...

  • sticky-footers布局

    sticky-footers html css.detail { position: fixed; top: 0;...

  • 粘性页脚Sticky footers布局

    需要处理一种布局当页面内容不足时, 页脚紧贴屏幕底部;当页面内容过长时,页脚紧贴内容后面。 container {...

  • Sticky footers

    原文链接CSS秘密花园: Sticky footers 页面代码 如下 当减少内容后 Flexbox解决方案: 首...

  • 等分布局

    提供一种flex实现html代码如下 CSS代码 等高布局用table flex

  • 初见FLEX

    FLEX布局 一种新的布局方式,flex布局 flex布局与方向无关 flex布局可以实现空间自动分配、自动对齐。...

  • flex布局学习笔记

    经典教程 Flex 布局教程:语法篇Flex 布局教程:实例篇flex布局游戏 理解 flex布局实现需要至少两层...

  • web前端-Sticky Footer布局

    什么是Sticky Footer布局 Sticky Footer布局实现的效果是, 当页面中的内容高度小于屏幕高度...

  • flex布局实现骰子

    学习flex布局后的实例布局--骰子具体实现原理可参考阮一峰的Flex 布局教程:实例篇和博客flex布局实现色子...

  • CSS 3 Flex布局

    Flex布局 flex布局可以实现空间自动分配自动对齐,适用于简单的线性布局。 flex基本概念 flex con...

网友评论

    本文标题:用flex布局实现Sticky Footers

    本文链接:https://www.haomeiwen.com/subject/gcodtxtx.html