Angular 弹性布局斗争

Angular flex-layout struggle

我 运行 在使用 flex-layout 时遇到了一些问题。

我的代码大致如下:

<div fxLayout='column'>
  <!-- multiple rows here -->
  <div fxLayout='row'>
    <div fxFlex='35'>
      <!-- some content here -->
    </div>
    <div fxFlex>
      <!-- mat-list here -->
    </div>
  </div>
  <!-- multiple rows here -->
</div>

我希望第二个 flex div 与第一个具有相同的高度。 问题是第二个 div 包含一个包含很多条目的列表,这会导致两个(非常)长的框。因此我想使第二个 div 可滚动 (overflow:scroll)。但我猜这是不可能的,因为 flex 总是想根据它里面的内容来拉伸,即没有溢出。

第一个 div 的高度随 window 调整大小而变化,因此我不能只对第二个 div 的高度进行硬编码。

对于如何实现这一点,您有什么建议吗?

有什么不明白的地方请评论,我会尽量详细说明。

谢谢 :)

固定主容器的高度并将列表的高度设置为100%并自动溢出。

<div fxLayout='column' style="height:300px">
  <!-- multiple rows here -->
  <div fxLayout='row'>
    <div fxFlex='35'>
      <!-- some content here -->
    </div>
    <div fxFlex>
      <ul style="height:100%;overflow:auto">
        <li>content</li>
        <li>content</li>
        <li>content</li>
        .......
        <li>content</li>
      </ul>
      <!-- mat-list here -->
    </div>
  </div>
  <!-- multiple rows here -->
</div>

好的,所以我找到了解决方案:(堆栈代码段 2)

基本上,我用 position: relative 添加了一个额外的包装器 div,然后将 position: absolute; top: 0; bottom: 0; right: 0; left: 0; overflow: scroll; 添加到列表元素,结果是