首頁 >web前端 >css教學 >為什麼在 Chrome 中使用「overflow:hidden」和「border-radius」縮放子 Div 會溢出父 Div?

為什麼在 Chrome 中使用「overflow:hidden」和「border-radius」縮放子 Div 會溢出父 Div?

Patricia Arquette
Patricia Arquette原創
2024-10-29 16:00:04965瀏覽

 Why Does Scaling a Child Div Overflow a Parent Div with `overflow: hidden` and `border-radius` in Chrome?

變換:縮放與溢位:Chrome 中的隱藏問題

使用 CSS3 轉換:縮放時,會出現一個特殊問題。如果父 div 已溢位:隱藏並套用了 border-radius,則縮放子 div 會導致其超出其父級。

問題描述

此問題發生在以下情況使用transform:scale來縮放div內的圖像。當父div上設定了overflow:hidden和border-radius時,縮放後的影像會溢出其邊界。

過渡問題

最初認為增加一個CSS 轉換可以解決這個問題。然而,這種方法被證明是無效的。

這個問題的解決方案在於對包裝元素應用transform:translateZ(0)。此 CSS 屬性強制硬體加速,從而提高渲染效能並消除溢出問題。

工作原理

使用變換:translateZ(0) 觸發硬體加速GPU,讓瀏覽器利用專用圖形資源進行渲染。這提高了轉換的效率和準確性,防止影像溢出其容器。

有關此技術的詳細資訊以及轉換:translateZ(0) 的效能影響,請參閱提供的 CSS 效能文章。

以上是為什麼在 Chrome 中使用「overflow:hidden」和「border-radius」縮放子 Div 會溢出父 Div?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn