使用 CSS flex 拆分视口的最佳实践

Best practice for splitting viewport with CSS flex

希望这不是一个无意义的问题,因为它在某种程度上是非特定的。

这很简单 - 我的目标是制作一个将 viewport/screen 垂直分成大致两半 (60/40) 的设计,类似于 AirBnB 的做法:-

AirBnB New York

这就像使用 flexbox 列一样简单吗(我正在使用 Bootstrap 4),指定列宽并将右侧列设置为 position: fixed?

非常欢迎任何人提出任何建议,因为我以前从未接触过这种类型的设计,我想确保我没有忽略任何东西。

这是一个 flex 基于布局的解决方案。

html,
body {
  height: 100%;
  margin: 0
}

.box {
  display: flex;
  flex-flow: column;
  height: 100%;
}

.box .row {
  border: 1px dotted grey;
}

.box .row.header {
  flex: 0 1 60vh;
}

.box .row.content {
  flex: 1 1 40vh;
}
<div class="box">
  <div class="row header">
    <p><b>header</b>
      (60%)</p>
  </div>
  <div class="row content">
    <p>
      <b>content</b>
      (40%)
    </p>
  </div>
</div>