强制元素宽度完全匹配父宽度而不是屏幕宽度

Force element width to match exactly parent width and not screen width

在下面的代码片段中,您可以看到绿色 .bottom 停在屏幕宽度处,宽度为 100%。我可以强制宽度与父宽度完全匹配吗?在本例中为 1000px。 问题是红色 .top 是可变宽度,因此不能为绿色 .bottom 设置固定宽度。

.parent {
  width: 700px;
}

div.container {
  overflow: auto;
  background-color: yellow;
  display: flex;
  flex-direction: column;
  height: 100px;
}

div.top {
  background-color: red;
  height: 40px;
  width: 1000px;
}

div.bottom {
  background-color: green;
  height: 20px;
  width: 100%;
}
<div class="parent">
  <div class="container">
      <div class="top"></div>
      <div class="bottom"></div>
  </div>
</div>

使用 CSS 网格而不是 flexbox:

.parent {
  width: 700px;
}

div.container {
  overflow: auto;
  background-color: yellow;
  display: grid;
  align-content: start; /* don't forget this */
  height: 100px;
}

div.top {
  background-color: red;
  height: 40px;
  width: 1000px;
}

div.bottom {
  background-color: green;
  height: 20px;
}
<div class="parent">
  <div class="container">
      <div class="top"></div>
      <div class="bottom"></div>
  </div>
</div>