CSS3的2D翻轉是一種強大的特性,可以讓我們創建3D視覺效果。CSS3定義了一個transform屬性,用于實現旋轉、縮放、傾斜以及翻轉等變化操作。
.backface { -webkit-backface-visibility: hidden; backface-visibility: hidden; } .box { position: relative; width: 200px; height: 200px; margin: 50px auto; -webkit-transition: -webkit-transform 1s; transition: -webkit-transform 1s; transition: transform 1s; transition: transform 1s, -webkit-transform 1s; } .box:hover { -webkit-transform: rotateY(180deg); transform: rotateY(180deg); } .front, .back { position: absolute; top: 0; left: 0; } .front { z-index: 2; background: #333; } .back { -webkit-transform: rotateY(180deg); transform: rotateY(180deg); background: #ccc; }
在上面的代碼中,我們定義了一個.box元素,它是翻轉容器,包含一個.front元素和一個.back元素。當鼠標懸浮在.box上時,我們使用transform屬性,將.box翻轉180度,同時讓.back元素成為前景顯示。
為了避免翻轉時出現閃爍和抖動,我們需要在.backface元素中設置一個隱藏屬性,讓其在翻轉時保持不可見狀態。這樣就可以獲得更平滑的3D視覺效果。
需要注意的是,CSS3的2D翻轉只能呈現出表面的3D效果,無法實現真正的3D場景。不過,它還是可以讓我們在網頁中創造出很多有趣的效果。