【CSS】CSS经典布局之绝对底部布局

╰+哭是因爲堅強的太久メ 2022-06-02 08:39 330阅读 0赞

转载自:CSS经典布局之Sticky footer布局


何为Sticky footer布局?

  我们常见的网页布局方式一般分为header(页头)部分,content(内容区)部分和footer(页脚)部分。当页头区和内容区的内容较少时,页脚区不是随着内容区排布而是始终显示在屏幕的最下方。当内容区的内容较多时,页脚能随着文档流撑开始终显示在页面的最下方。这就是传说中的Sticky footer布局。

Sticky footer布局实现

一、负 margin 布局方式

  1. <div class="detail">
  2. <div class="wrapper clearfix">
  3. <div class="title">
  4. <h1>这里是头部</h1>
  5. </div>
  6. <div class="main">
  7. <p>这里是main content区域...</p>
  8. <p>这里是main content区域...</p>
  9. <p>这里是main content区域...</p>
  10. <p>这里是main content区域...</p>
  11. </div>
  12. </div>
  13. </div>
  14. <div class="footer">
  15. <p>© 2017 No rights reserved.</p>
  16. <p>Made with ♥ by an anonymous pastafarian.</p>
  17. </div>

!!!特别说明!!!:使用这个布局的前提,就是footer要在总的div容器之外,footer使用一个层,其它所有内容使用一个总的层。如果确实需要到添加其它同级层,那这个同级层就必须使用position:absolute进行绝对定位。

  1. * { margin: 0; padding: 0; text-align: center;}
  2. html,body,.detail { height: 100%;}
  3. body>.detail { height: 100%; min-height: 100%;}
  4. .main { padding-bottom: 64px;}
  5. .footer { position: relative; margin-top: -64px; height: 64px; clear: both; background-color: red;}
  6. .clearfix::after { /* 测试于两栏悬浮布局 */ display: block; content: "."; height: 0; clear: both; visibility: hidden; }

PC端效果图:

这里写图片描述
移动端效果图:
这里写图片描述

二、flex 布局方式

  1. <header>
  2. <h1>Site name</h1>
  3. </header>
  4. <div class="main">
  5. <p>Bacon Ipsum dolor sit amet...</p>
  6. <p>Bacon Ipsum dolor sit amet...</p>
  7. <p>Bacon Ipsum dolor sit amet...</p>
  8. <p>Bacon Ipsum dolor sit amet...</p>
  9. </div>
  10. <footer>
  11. <p>© 2017 No rights reserved.</p>
  12. <p>Made with ♥ by an anonymous pastafarian.</p>
  13. </footer>
  14. * { margin: 0; padding: 0;}
  15. body{ display: flex; flex-flow: column; min-height: 100vh; overflow:auto;}
  16. h1{ font-size: 60px; text-align: center;}
  17. p{ font-size: 24px; text-align: center;}
  18. .main{ flex:1;} /* 若不懂请看本文末尾的链接 */
  19. footer{ background-color: red;}

PC端效果图:
这里写图片描述
移动端效果图:
这里写图片描述
flex布局结构简单,代码精简。因为flex存在着兼容性,所以在使用这种方式布局时需要注意。


若不懂flex: 1;请跳转 【CSS】由 flex: 1; 引发的思考

发表评论

表情:
评论列表 (有 0 条评论,330人围观)

还没有评论,来说两句吧...

相关阅读