如何 - 3D 翻转盒
了解如何使用 CSS 创建翻转盒。
翻转盒
将鼠标悬停在下面的方框上以查看效果
如何创建翻转盒
步骤 1) 添加 HTML
示例
<div class="flip-box">
<div class="flip-box-inner">
<div class="flip-box-front">
<h2>正面</h2>
</div>
<div class="flip-box-back">
<h2>背面</h2>
</div>
</div>
</div>
步骤 2) 添加 CSS
示例
/* 翻转盒容器 - 将宽度和高度设置为你想要的任何值。我们添加了边框属性来演示翻转本身在悬停时会超出盒子(如果你不想要 3D 效果,请移除透视) */
.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 变换 教程,了解更多关于 2D 变换的信息,例如 rotate() 方法。
提示: 访问我们的 CSS 3D 变换 教程,了解更多关于 3D 变换的信息。