html - 根据多个嵌套 flexboxes 中另一个容器的动态高度在一个容器中创建滚动

标签 html css flexbox overflow

这是我的:

这就是我想要的:

因此,“Container 5”的全部内容无需滚动即可显示。 “Container 2”的高度应仅取决于“Container 5”的高度。如果“Container 4”的内容比“Container 5”多,则“Container 4”应该是可滚动的。 “Container 5”的内容是动态的——我不知道它的高度。“Container 3”应该填满底部的整个可用屏幕空间。

这是代码: https://jsfiddle.net/antonfil/5kd1gnou/13/

有什么想法吗?

JavaScript 解决方案很好,但如果可以用纯 CSS 实现它也很有趣。

最佳答案

更改container-2container-4container-5 的样式如下。

#container-4 {
  display: flex;
  overflow-y:auto;
  flex: 1 0;
  background-color: yellow;
}
#container-5 {
  display: flex;
  flex: 1 0;
  height:min-content;
  background-color: orange;
}

这里我们将container-5的高度设置为最小高度。并为 container-4 设置垂直溢出作为 scroll。然后使用 Jquery 动态调整 container-4 的高度。

将此脚本添加到您的 HTML 文件中。

<script>
$(document).ready(function(){
    let height=$("#container-5").height();
   $("#container-4").height(height);
});
</script>

并且不要忘记将 Jquery 添加到您的 HTML。

<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>

关于html - 根据多个嵌套 flexboxes 中另一个容器的动态高度在一个容器中创建滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66292607/

相关文章:

javascript - CSS线性渐变面向左(从右到左)

css - 为什么 safari 有时无法快速响应 CSS?

jquery - VueJS DOM 问题

html - 不同宽度的div元素,将后续div堆叠在较短的列上

html - CSS calc()无法产生预期的结果?

html - Ionic flexbox 无法设置输入垂直

javascript - HTML/Javascript 表单 如何将表单数据序列化为 JSON 并显示在类中?

html - 使用 css 将鼠标悬停在其他图像前面放大图像

html - 目录 XSL

html - 我需要将 3 个 div 在我的页面中心与 flexbox 对齐