-3

Here's a picture:

picture!

My div2 and div3 contain dynamic content, such that their heights will be different each time. div2 will always be much shorter than div3 though.

I am looking for a way to force the height of div3 to be that of div2's, and then for div1 to neatly contain them both, so the result should look like this:

enter image description here

But I'm not sure how to do this. Any advice?

Made a fiddle: https://jsfiddle.net/q93uvgcs/

Ryan Peschel
  • 11,087
  • 19
  • 74
  • 136

1 Answers1

0

.div1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: fit-content(0);
  border: 1px solid;
}

.div2 {
  border: 1px solid #000;
}

.div3 {
  width: 300px;
  overflow-y: auto;
  border: 1px solid #000;
  margin-left: 50px;
}
<div class="div1">
  <div class="div2">lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum </div>
  <div class="div3">lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum </div>
</div>

You can use display:grid layout to achieve what you would like to do. On the parent setting columns to 1fr each, will fit them in the container horizontally, and setting fit-content(0) for rows, will set first's height to it's content, thus forcing the other one comply with the rule.

mulsun
  • 563
  • 5
  • 15