首页  >  文章  >  web前端  >  为什么我的 Flex 子项在 Firefox 中会超过父级高度,而在 Chrome 中却不会?

为什么我的 Flex 子项在 Firefox 中会超过父级高度,而在 Chrome 中却不会?

DDD
DDD原创
2024-10-24 18:42:02167浏览

Why Does My Flex Child Exceed Parent Height in Firefox but Not Chrome?

防止子 Flex 项目超过父级高度

当 Flex 容器包含同时具有 flex: 1 和 Overflow-y 的子项目时:滚动,Chrome 和 Firefox 之间就会出现差异。在 Chrome 中,子项会展开以填充剩余空间,但不会超过父项的高度,从而产生可见的滚动条。然而,在 Firefox 中,子项的高度会增加,脱离父项。

解决方案

要在 Firefox 中解决此问题,请将 flex: 1 替换为 flex: 1 1 1 像素。这设置了固定的最小基础 1px,确保即使内容溢出,子项目也不会超过父项目的高度。

修订代码

<code class="css">#messagelist {
  flex: 1 1 1px;
}

#messagecontents {
  flex: 1 1 1px;
}</code>

此修改可确保子项展开以填充可用空间,同时保持包含在 Flex 容器内。 Chrome 和 Firefox 中都会出现滚动条,允许用户查看可见区域之外的内容。

以上是为什么我的 Flex 子项在 Firefox 中会超过父级高度,而在 Chrome 中却不会?的详细内容。更多信息请关注PHP中文网其他相关文章!

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