简体   繁体   English

带滚动条的动态弹性框

[英]Dynamic flex box with scroll

I want to create a layout like this example below我想创建一个如下例所示的布局

  1. Parent container have fixed height父容器有固定的高度
  2. If just have one child list, the list takes all height of container如果只有一个子列表,则该列表占据容器的所有高度
  3. If have two lists, each list takes enough space for its content.如果有两个列表,每个列表为其内容占用足够的空间。 Any list with height > container height - the other list height will show scroll, in case the other list has height > 50% of parent then 2 lists will take 50% height of parent and show scroll任何高度 > 容器高度的列表 - 另一个列表高度将显示滚动,如果另一个列表的高度 > 父级的 50%,则 2 个列表将占据父级的 50% 高度并显示滚动

I have tried using flexbox but still have not found any solution我试过使用 flexbox 但仍然没有找到任何解决方案

例子

 .container { display: flex; flex-direction: column; height: 500px; }.list1 { border: 1px solid red; overflow-y: scroll; }.list2 { border: 1px solid blue; overflow-y: auto; }.list1 div, .list2 div { padding: 20px; }
 <div class="container"> <div class="list1"> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> </div> <div class="list2"> <div> item1 </div> </div> </div>

Do you mean something like this?你的意思是这样的吗? Let me know if this is what you mean.让我知道这是否是您的意思。

 .container { display: flex; flex-direction: column; height: 500px; }.list1 { border: 1px solid red; overflow-y: scroll; height: 50%; }.list2 { border: 1px solid blue; overflow-y: auto; max-height: 50%; }.list1 div, .list2 div { padding: 20px; }
 <div class="container"> <div class="list1"> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> <div> item1 </div> </div> <div class="list2"> <div> item1 </div> </div> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM