三层布局,main div无论是否撑满。footer div一直固定在浏览器最下面

html:

  <header>header</header>
  <main>main</main>
  <footer>footer</footer>

css:

 header{
    height: 100px;
    background-color: red;
  }
  main{
    background-color: yellow;
    height: 100vh;
  }
 footer{
    background-color: gray;
    height: 10vh;
  }

方法1.

使用 position: sticky;

 footer{  
    position: sticky;
    top: 100vh;
  }

footer使用sticky属性,并且top: 100vh;

方法2.

使用flex

body{
    display: flex;
    flex-direction: column;
        min-height: 100vh;
  }
 main{
    background-color: yellow;
    flex-grow: 1;
  }

body高度为 min-height: 100vh;使用flex,主轴为纵轴。main设置flex-grow: 1;来撑满body 使footer在最底下。

hxy

hxy

秦 夏

留下你的评论

快留下你的小秘密吧