html - 如何使我的 flex 列在绝对定位的容器中具有相同的高度?

标签 html css flexbox

我已经绝对定位div.containerdiv.wrapper 在里面。和两个 div 作为 div.wrapper 中的 flex 列。这些列有背景。

我怎样才能使这些背景到达最长列的末尾(即使它们具有相同的高度)而不仅仅是容器的可见高度?我无法从 div.container 中删除 position: absolute

.container {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    overflow: auto;
}
.wrapper {
    display: flex;
    align-items: stretch;
    width: 100%;
}
.div1 {
    background-color: yellow;
}
.div2 {
    flex: 1;
    background-color: green;
}
<div class="container">
    <div class="wrapper">
        <div class="div1">
            <p>Some long content here</p>
            <p>Some long content here</p>
            <p>Some long content here</p>
            <p>Some long content here</p>
            <p>Some long content here</p>
            <p>Some long content here</p>
            <p>Some long content here</p>
            <p>Some long content here</p>
            <p>Some long content here</p>
        </div>
        <div class="div2">
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
            <p>Some even longer content here</p>
        </div>
    </div>
</div>

CodePen link

最佳答案

删除 container 上的 flex 属性。

我还删除了 align-items: stretch; width: 100%; 来自 .wrapper 因为它是它们的默认值,不需要设置。

.container {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  /*  commented out these 2 lines
    display: flex;
    flex-direction: column;
  */
  overflow: auto;
}

.wrapper {
  min-height: 100%;
  display: flex;
  /*  commented out these 2 lines as they are not needed
    align-items: stretch;
    width: 100%;
  */
}

.div1 {
  background-color: yellow;
}

.div2 {
  flex: 1;
  background-color: green;
}

p {
  padding: 20px 10px;
}
<div class="container">
  <div class="wrapper">
    <div class="div1">
      <p>Some long content here</p>
      <p>Some long content here</p>
      <p>Some long content here</p>
    </div>
    <div class="div2">
      <p>Some even longer content here</p>
      <p>Some even longer content here</p>
      <p>Some even longer content here</p>
      <p>Some even longer content here</p>
      <p>Some even longer content here</p>
      <p>Some even longer content here</p>
      <p>Some even longer content here</p>
      <p>Some even longer content here</p>
    </div>
  </div>
</div>

关于html - 如何使我的 flex 列在绝对定位的容器中具有相同的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45914765/

相关文章:

html - 使用 HTML/CSS,我如何使用动画蒙版从一个图像过渡到另一个图像?

html - 如何对 <div> 标签的这种现象进行理论化

html - 一个 :before psuedo element before four h1. .?

HTML 表格中间只有破折号

html - 制作背景图像以适应 flex 容器

jquery - Internet Explorer 不会显示范围 slider 或使用 jquery 更新 CSS

html - 在选择特定值时打开一个新框/窗口

html - 在水平响应式布局中保持方形比例

css - 使用 flexbox 控制包装和盒子宽度

javascript - 使用 jquery 将类分配给对象中表的所有 td