通过滚动收缩flexbox儿童 - 适用于Chrome而非Firefox

时间:2016-06-11 12:59:12

标签: html css internet-explorer firefox flexbox

我希望通过变得可滚动来缩小flexbox子项。我创建了这个(jsfiddle),它可以在Chrome中运行,但不适用于Firefox:

  • 在Chrome中,当框架垂直收缩以使绿色部分的内容不适合时,绿色部分变为可滚动。主框架没有滚动条。

  • 然而,在Firefox中,整个框架都会获得滚动条,并且绿色部分的滚动条始终处于禁用状态。

HTML:

<div class="flex-column" style="height: 100%">
  <div style="background-color: red">
    Foo
  </div>
  <div class="flex-column flex-shrink1">
    <div class="flex-column flex-shrink1" style="overflow-y: scroll; background-color: green">
      Bar<br>Bar<br>Bar<br>Bar<br>
      Bar<br>Bar<br>Bar<br>Bar<br>
      Bar<br>Bar<br>Bar<br>Bar<br>
      Bar<br>Bar<br>Bar<br>Bar<br>
    </div>
  </div>
</div>

CSS:

html, body {
    height: 100%;
    padding: 0px;
    margin: 0px;
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.flex-column>* {
    flex-shrink: 0;
}

.flex-shrink1 {
    flex-shrink: 1;
}

更新:Firefox的修复方法是将样式min-height: 0添加到包含可滚动div的div,以及使用嵌套flex布局时可能的父Flex项目(请参阅{{3} },2)。但是,这不能解决Internet Explorer 11上的问题。

0 个答案:

没有答案