提问者:小点点

div取所有可用高度


我正在使用以下HTML

<div className="App">
    <div className="AppMenu">
        Menu
    </div>
    <div className="AppContainer">
        Test
    </div>
</div>

和此CSS:

.App {
  min-height: 100vh !important;
  max-height: 100vh !important;
  height: 100vh !important;
  background-color: red;
}

.AppMenu {
  background-color: blue;
  position: sticky;
  top: 0px;
  width: 100%;
  font-size: 1.3em;
}

.AppContainer {
  background-color: green;
}

如何将/calc AppContainer大小设置为所有高度=&>;100VH-(AppMenu高度)与CSS(或js)?


共1个答案

匿名用户

您已经使用了屏幕的全部高度。没有必要使用像这样的核弹,它几乎总是只是掩盖问题而不是解决问题。此外,+也可以被认为是坏编码。在本例中,您需要一个100VH的确定高度,这是由完成的。所以你有3行代码,实际上你只需要1行。

出现滚动条和屏幕溢出的问题是由默认的正文边距引起的。元素的高度将为100VH,并使用默认正文amrgin,这将导致文档高度超过100VH。因此,只需使用将默认正文amrgin重置为0

然而,使用这种灵魂,你将会有一个潜在的溢出问题。因此,您应该为容器设置一个,或者使用

null

body {
  margin: 0;
}

.App {
  height: 100vh;
  background-color: red;
}

.AppMenu {
  background-color: blue;
  position: sticky;
  top: 0px;
  width: 100%;
  font-size: 1.3em;
}

.AppContainer {
  background-color: green;
}
<div class="App">
  <div class="AppMenu">
    Menu
  </div>
  <div class="AppContainer">
    Test
  </div>
</div>