首页  >  文章  >  web前端  >  为什么在具有嵌套 Flexbox 布局的 Firefox 中,overflow-y 无法按预期工作?

为什么在具有嵌套 Flexbox 布局的 Firefox 中,overflow-y 无法按预期工作?

Barbara Streisand
Barbara Streisand原创
2024-10-26 02:03:27868浏览

Why is overflow-y not working as expected in Firefox with nested flexbox layout?

嵌套 Flexbox 布局的 Firefox Overflow-Y 问题

在使用嵌套 Flexbox 设计的 100% 宽度和 100% 高度布局中,出现意外的情况在 Firefox 中遇到的行为是,overflow-y 无法正常工作。

问题:

为什么overflow-y 无法按照所提供的 CSS 代码按预期工作,导致Firefox 显示不正确的滚动条?

答案:

此问题是由于 Flex 项目的默认最小尺寸行为而产生的。 Flex 项目根据其子项的固有大小导出其最小大小,而不考虑应用于其后代的溢出-y。

当具有溢出-y: [hidden|scroll|auto] 的元素放置在 Flex 项目中时,需要在相应的祖先 Flex 项目上设置 min-width:0 (对于水平 Flex 容器)或 min-height:0 (对于垂直 Flex 容器)。这将禁用默认的最小大小调整行为,允许弹性项目缩小到子项的最小内容大小以下。

要解决此问题,请将 min-height:0 添加到 .level-0-row2 规则中,如以下更新的 CSS 代码所示:

<code class="css">.level-0-row2 {
  ...
  min-height: 0;
  flex: 1;
  border: 1px solid black;
  ...
}</code>

这确保 .level-0-row2 弹性项目考虑其子项的溢出 y 并允许其缩小到最小内容大小以下,从而启用适当的Firefox 中的溢出行为。

以上是为什么在具有嵌套 Flexbox 布局的 Firefox 中,overflow-y 无法按预期工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

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