如何創建:3D 翻轉盒子
學習如何使用 CSS 創建一個翻轉盒子。
翻轉盒子
請將鼠標移到下面的盒子上,查看效果:
如何創建一個翻轉盒子
第一步 - 添加 HTML:
<div class="flip-box"> <div class="flip-box-inner"> <div class="flip-box-front"> <h2>Front Side</h2> </div> <div class="flip-box-back"> <h2>Back Side</h2> </div> </div> </div>
第二步 - 添加 CSS:
/* 翻蓋盒容器 - 設置你想要的寬度和高度。我們添加了 border 屬性來演示,當鼠標懸停時,翻轉本身會超出盒子(如果您不想要 3D 效果,請刪除 perspective) */ .flip-box { background-color: transparent; width: 300px; height: 200px; border: 1px solid #f1f1f1; perspective: 1000px; /* 如果不需要3D效果,請移除此行 */ } /* 這個容器用于定位正面和背面 */ .flip-box-inner { position: relative; width: 100%; height: 100%; text-align: center; transition: transform 0.8s; transform-style: preserve-3d; } /* 當鼠標移動到翻轉盒子容器上時,進行水平翻轉 */ .flip-box:hover .flip-box-inner { transform: rotateY(180deg); } /* 定位正面和背面 */ .flip-box-front, .flip-box-back { position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; /* Safari */ backface-visibility: hidden; } /* 設置正面的樣式 */ .flip-box-front { background-color: #bbb; color: black; } /* 設置背面的樣式 */ .flip-box-back { background-color: dodgerblue; color: white; transform: rotateY(180deg); }
垂直翻轉
要進行垂直翻轉而不是水平翻轉,請使用 rotateX
方法而不是 rotateY
:
實例
.flip-box:hover .flip-box-inner { transform: rotateX(180deg); } .flip-box-back { transform: rotateX(180deg); }
注意:這些例子在平板電腦和/或手機上可能無法正常工作。
相關頁面
教程:CSS 2D 變換
教程:CSS 3D 變換