使用 flexbox 将 footer 保持在底部

使用 flexbox 将 footer 保持在底部

布局网页时, 有时页面内容太少,无法将内容区域撑开,从而在 footer 下面留下一大块空白。

解决方法 flexbox

<body>
    <header>...</header>
    <section class="main-content">...</section>
    <footer>...</footer>
</body>
html{
    height: 100%;
}

body{
    display: flex;
    flex-direction: column;
    height: 100%;
}
header{
   /* 我们希望 header 采用固定的高度,只占用必须的空间 */
   /* 0 flex-grow, 0 flex-shrink, auto flex-basis */
   flex: 0 0 auto;
}

.main-content{
   /* 将 flex-grow 设置为1,该元素会占用全部可使用空间 
      而其他元素该属性值为0,因此不会得到多余的空间*/
   /* 1 flex-grow, 0 flex-shrink, auto flex-basis */
   flex: 1 0 auto;
}

footer{
   flex: 0 0 auto;
}

兼容性

所有的主流浏览器都支持 flexbox,就 IE 来说,IE9以后的版本都是支持的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 当你在布局网页时,有可能会遇到类似下面的这种情况 导致这一问题的原因是页面内容太少,无法将内容区域撑开,从而在 f...
    Ironben阅读 23,191评论 3 20
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    前端进阶之旅阅读 16,627评论 32 459
  • 人生的50岁在很多人看来就是一个退休的年龄,而我觉得50岁才是我人生的真正开始。 人生真正的开始对我来说就是自由了...
    长姐阅读 781评论 14 10
  • 静谧 翻书的声音 雷鸣 雨水嘀嗒 酸涩的眼睛 失眠的灵魂
    喝杯牛奶心情好3阅读 288评论 0 0