前端小技巧之footer固定

想滚就滚、不想滚就不滚的footer

今天纪录的是前端开发的 一个小tip,没有太高的技术含量,但是开发过程中时常遇见。

Requirement:
实现两种footer
1、一直固定在底部,无论页面长短,始终能看见的footer,称其为不想滚的footer。
2、同样固定在底部,在页面较长的时候,需要滚动到页面结尾才能看见的footer,称其为想滚的footer。

Implementation

  • 不想滚的footer
    html:
    <div class="container">
    <div class="main-content">
    </div>
    <footer>
    </footer>
    </div>
    css:
    .container {position: relative;}
    .main-content {
    height: 1200px;
    padding-bottom: 70px;
    //一定要给footer留位置,否则会出现内容被footer遮盖的现象
    }
    footer {
    height: 70px;
    background-color: #4d4d4d;
    left: 0;
    bottom: 0;
    width: 100%;
    position: fixed; //这个是关键哦!
    }
    效果:
    Paste_Image.png

    1、此时主要内容.main-content的长度为1200px,footer还依然显示在界面上,效果图右侧的滚动条为证。
    2、原理即是footer相对其父元素.container的位置为固定的,通过设置bottom和left固定。

  • 想滚的footer
    html:

    <div class="main-container">
    <div class="main-content">
    </div>
    <footer>
    </footer>
    </div>
    css:
    html, body { height: 100%; //关键1}
    .main-container { min-height: 100%; //关键2 position: relative;}
    .main-content { height: 1200px; padding-bottom: 70px; //关键3}
    footer {
    height: 70px;
    background-color: #4d4d4d;
    width: 100%;
    position: absolute; //关键4
    bottom: 0;
    }
    效果:


    Paste_Image.png

    关键1:一定要设置html和body的高度为100%,保证内容不足的时候撑开页面,保证footer在底部。
    关键2:不要设置根div的class为container。因为container包含了很多html原生的样式,需要自己做调整。并且一定要设置根div的最小高度为100%,原因和关键1一样。
    关键3:一定要设置主内容的padding-bottom为footer的高度,避免在页面最底部出现footer遮盖主内容的现象。
    关键4:设置footer相对于父div为绝对位置。

看到自己的文章被推荐到首页还是有点小兴奋的。我会继续努力的!
(。・`ω´・)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,706评论 1 92
  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 5,919评论 0 1
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    前端进阶之旅阅读 16,776评论 32 459
  • 最近和可爱的小伙伴yuki发起一个活动,每日一问,每天早上她会把问题发在群里,我们都会积极响应。 每日一问0424...
    米苏和旧时光阅读 1,711评论 0 0
  • 我还不太理解小红帽的真正含义,我会继续再听再理解 希望能吸引一份好的工作,收入高,领导好,同事和睦相处,解决我目前...
    翟美丽阅读 2,795评论 0 0

友情链接更多精彩内容