如何强制方块占用剩余屏幕的所有高度

问题描述 投票:0回答:2
javascript html css
2个回答
1
投票

1-

min-height: 100vh;
不起作用(至少根据我的经验,它不起作用) 所以使用
height: 100vh;
然而,由于“内容”可能溢出,这不是最佳方法。或者也使用(正如我在本例中使用的那样)
height: 100%;
margin: 0;
.

2-但我建议使用 flex。您将更多地使用它并且更好地学习它。 我建议阅读这篇文章,它解释了使用 flex 解决您的确切问题的方法:文章

以下是我将如何使用 flex 解决您的问题:

<!DOCTYPE html>
<html>
  <head>
    <style>
        html, body{
            height: 100%;
            margin: 0;
        }
        .wrapper{
            display: flex;
            flex-flow: column;
            height: 100%;
        }
        .wrapper .header{
            flex: 0 1 auto;
            background: #7e8aa0;
        }
        .wrapper .content{
            flex: 1 1 auto;
            background: #dbdfe7;
        }
        .wrapper .footer {
            flex: 0 1 100px;
            background: #7e8aa0;
        }
    </style>
  </head>
  <body>
      <div class="wrapper">
          <header class="header">
              <div class="container">
                  ХЕДЕР
              </div>
          </header>
          <div class="content">
              <div class="container">
                  <section class="первая секция контента">
                      ПЕРВАЯ СЕКЦИЯ КОНТЕНТА
                  </section>
              </div>
          </div>
          <footer class="footer">
              <div class="container">
                  ФУТЕР
              </div>
          </footer>   
      </div>
  </body>
</html>


0
投票

我发现问题是你在包装器上使用了“min-height: 100vh”,这给了它一个未定义的高度,因为它可以无限高于那个。

尝试使用“height:100vh”而不是对我有用。

但我不推荐这种方法,因为它会溢出到包装器之外,因为“内容”将与包装器本身具有相同的高度,而不考虑也在包装器中的页眉和页脚,这将导致页眉和页脚溢出,因为没有空间留给他们。

所以我认为你最好的选择是坚持使用 flex box 因为它是为这种东西而制作的。

© www.soinside.com 2019 - 2024. All rights reserved.