首页  >  文章  >  web前端  >  为什么“overflow-y”在 Firefox 中不能与嵌套 Flexbox 一起使用?

为什么“overflow-y”在 Firefox 中不能与嵌套 Flexbox 一起使用?

Susan Sarandon
Susan Sarandon原创
2024-10-26 04:28:02806浏览

Why is `overflow-y` not working with nested flexbox in Firefox?

Firefox Overflow-y 不适用于嵌套 Flexbox

在 CSS3 Flexbox 中,当 Overflow-y 应用于嵌套的弹性元素。这可以防止 Flex 元素垂直滚动,如 CodePen 中所示:http://codepen.io/anon/pen/NPYVga。

详细说明:

默认情况下,弹性项目根据其子项目的固有尺寸建立最小尺寸。当 Flex 项目中包含具有溢出:[hidden|scroll|auto] 的元素时,Flex 项目始终拒绝缩小到小于子项的最小内容大小。

解决方案:

要解决此问题,请将 min-height:0 分配给祖先 Flex 项目(提供的代码中的 .level-0-row2)。这会禁用默认的最小尺寸调整行为,从而允许弹性项目根据需要缩小。

这是一个经过修正的代码笔,已修复:

CSS:

.level-0-row2 {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: 1px solid black;
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  min-height: 0;
}

注意:

Chrome 目前不强制执行此默认的最小大小调整行为,但在特定情况下可能会错误地将最小大小折叠为 0。

以上是为什么“overflow-y”在 Firefox 中不能与嵌套 Flexbox 一起使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn