CSS 3D 轉換:透視互動
在 CSS 中應用 3D 轉換時,執行順序起著至關重要的作用。這在使用perspective()函數時尤其重要。
問題描述
使用者觀察到,transform屬性根據是否使用perspective()而表現出不同的效果函數在屬性值的開頭或結尾聲明。 Chrome 和 Firefox 瀏覽器中都出現了這種行為。
根本原因
根據 CSS 規範,變換矩陣是從左開始應用變換函數來計算的向右。當perspective()函數放在最後時,它會在所有其他轉換(例如平移)之後套用。這會導致在執行翻譯時不考慮透視。
解決方案
為了確保准確的3D 轉換,必須在變換屬性的開始
示例:
box:nth-child(1):hover { transform: perspective(1000px) translate3d(0, 0, -100px); } box:nth-child(2):hover { transform: translate3d(0, 0, 100px) perspective(1000px); }
在此範例中,第一個方塊將在3D空間中平移並套用透視效果,而第二個方塊則不會套用了透視圖。
附加註意事項:
以上是為什麼 CSS `transform` 中 `perspective()` 的順序對於 3D 變換很重要?的詳細內容。更多資訊請關注PHP中文網其他相關文章!