CSS 3D 動畫是一種有趣的方式,可以在 2D 和 3D CSS 層面上創(chuàng)建出富有豐富動態(tài)效果的網頁。CSS 3D 動畫需要用到許多新的 CSS 屬性,可以通過這些屬性來實現旋轉、縮放、翻轉等效果。
.container { perspective: 1000px; transform-style: preserve-3d; } .box { position: relative; width: 200px; height: 200px; transform-style: preserve-3d; transform-origin: center center; transition: transform 1s; } .front { position: absolute; width: 200px; height: 200px; background: #f00; transform: translateZ(100px); } .back { position: absolute; width: 200px; height: 200px; background: #0f0; transform: translateZ(-100px) rotateY(180deg); } .box:hover { transform: rotateY(180deg); }
上面的代碼展示了一個簡單的 3D 動畫效果。包括兩個設置了 transform 屬性的 div 元素,其中 front 元素在 Z 軸上增加了 100px 的距離,而 back 元素則在 Z 軸上減少了 100px 的距離并旋轉了 180 度,讓其變成了背面。通過設置容器(.container)的 perspective 屬性,可以定義觀看者(即網頁訪客)與 3D 元素之間的距離。
CSS 3D 動畫可以應用在很多地方,例如 3D 圖形的繪制、實現卡片翻轉效果、實現 3D 數據可視化等等。需要注意的是,在實現 3D 動畫效果時,需要配合好各個 CSS 屬性,才能創(chuàng)建出良好的動畫效果。