」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼 Overflow-Y 在有巢狀 Flexbox 元素的 Firefox 中無法如預期運作?

為什麼 Overflow-Y 在有巢狀 Flexbox 元素的 Firefox 中無法如預期運作?

發佈於2024-11-05
瀏覽:528

Why Does Overflow-Y Not Function As Expected in Firefox with Nested Flexbox Elements?

Firefox 中嵌套元素的Flexbox Overflow-Y 問題

在使用Flexbox 的CSS 佈局中,其中嵌套元素包含在父父Flexbox 中item、overflow-y 可能無法在Firefox 中如預期運作。當嵌套元素被賦予 auto 的overflow-y 屬性時,就會特別出現此問題。

問題說明:

Flexbox 專案根據內在的自動計算其最小尺寸他們的子元素的大小。但是,當存在應用了溢出屬性的子元素(例如overflow-y)時,Flex項目將保持與子元素內容相等的最小大小,即使它超出了可用空間。

解決方案:

要在 Firefox 中解決此問題,需要將父 Flex 專案的 min-height 屬性明確設定為 0。這將停用預設的最小大小調整行為並允許 Flex 項目縮小低於子層級的最小內容大小。

.parent-flex-item {
  min-height: 0;
}

透過應用此修復,具有 Overflow-y: auto 的嵌套元素現在能夠在其內容超出可用高度時縮小並顯示捲軸。

程式碼範例:

考慮以下 HTML 和 CSS 程式碼:

This is a long text that exceeds the available height.

.parent-flex-item {
  display: flex;
  flex-direction: column;
  height: 100px;
  min-height: 0;
}

.nested-element {
  overflow-y: auto;
}

使用此程式碼,嵌套元素在 Firefox 中將有一個捲軸,允許使用者查看溢出的內容。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3