[英]Two vertical divs, each with auto scroll with max-height
I would like to achieve the following requirements. 我想达到以下要求。 Let's say I have two containers (top and bottom) inside a main container: 假设我在一个主容器中有两个容器(顶部和底部):
1) Both top and bottom containers need to be scrollable only when content overflows in each container 1)仅当每个容器中的内容溢出时,顶部和底部容器才需要滚动
2) Top container needs to have max height capped at 50% as content grows 2)随着内容量的增长,顶部容器的最大高度必须限制为50%
3) Bottom container's max height really depends on the height of the top container. 3)底部容器的最大高度实际上取决于顶部容器的高度。 For example, if the top container contains 30% height, the bottom container be scrollable when its height becomes larger than 70%. 例如,如果顶部容器的高度为30%,则底部容器的高度大于70%时,它可以滚动。
I tried setting the max-height to 50% for the top container scrollable area. 我尝试将顶部容器可滚动区域的最大高度设置为50%。 It didn't show 50% as expected. 它没有显示出预期的50%。
Is there a way to achieve this without using flex-box, as I need to support older IE versions. 有没有一种方法可以在不使用flex-box的情况下实现此目的,因为我需要支持较旧的IE版本。
Any help is greatly appreciated. 任何帮助是极大的赞赏。
body, html { height: 100%; } .container { height: 90%; width: 30%; display: table; } .top { padding: 24px; background: yellow; display: table-row; } .top div { overflow-y: auto; max-height: 50%; } .bottom { height: 100%; padding: 24px; background: tomato; display: table-row; } .bottom div { overflow-y: auto; height: 100%; }
<div class="container"> <div class="top"> <div> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> </div> </div> <div class="bottom"> <div> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> </div> </div> </div>
How about this one? 这个怎么样?
body, html { height: 100%; } .container { height: 300px; width: 100%; display: table; } .top { padding: 24px; background: #000000; height: 300px; width:40%; float:left; overflow: auto; color:#ffffff; } .bottom { height: 300px; padding: 24px; background: #ff0000; color:#ffffff; display: table-row; width:40%; float:left; } li{list-style:none;}
<div class="container"> <div class="top"> <div> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> </div> </div> <div class="bottom"> <div> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> <li>DYNAMIC CONTENT</li> </div> </div> </div>
I have built up on @andrepaulo's fiddle. 我建立在@andrepaulo的小提琴上。
Cheers 干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.