Reputation: 110922
I have two divs side by side, now I want the left container to define the height of the right one, so that the right one could be max the height of the left. So the right container should always have the height of the left one. Plus the right one has a fixed header and a scrollable content.
I also know that I can just give the right container position: absolute
but I wonder if there is a more modern solution for this.
Upvotes: 0
Views: 74
Reputation: 8077
Is this what you're after? It's an example of what I'm saying in my comment
.container {
display: flex;
flex: 1;
align-items: stretch;
}
.left,
.right {
width: 50%;
padding: 20px;
color: white;
}
.left {
background: red;
}
.right {
background: blue;
}
<div class="container">
<div class="left">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur
adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime
fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam
architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi
impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati
voluptatem modi tempore quos sint, alias deserunt.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio
animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.
</p>
</div>
<div class="right">
<p>less content</p>
</div>
</div>
If this isn't right then please explain further as from what I can see this answers the points you've raised.
Edit
As per your comment, please check this code, this should give you the solution you need:
.container {
display: flex;
flex: 1;
align-items: stretch;
height: 100%;
}
.left,
.right {
width: 50%;
padding: 20px;
color: white;
display: flex;
}
.left {
background: red;
}
.right {
background: blue;
position: relative;
right: 0;
overflow: scroll;
position: relative;
}
.content {
height: 100%;
position: absolute;
}
<div class="container">
<div class="left">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.
</p>
</div>
<div class="right">
<div class="content">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime fugit, deserunt aut officia voluptatibus, cum facere amet ex animi impedit natus! Accusamus cumque porro, reprehenderit, hic optio animi? Hic, ex! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore inventore quis amet commodi a laboriosam architecto maxime quaerat labore aliquam aperiam eos obcaecati voluptatem modi tempore quos sint, alias deserunt.
</p>
</div>
</div>
</div>
Upvotes: 2