如何创建: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>裏面</h2> </div> </div> </div>
第2ステップ - 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変換