如何做 - 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 效果,请删除 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 变换教程,了解更多关于 2D 变换的信息,例如 rotate() 方法。
提示: 前往我们的 CSS 3D 变换教程,了解更多关于 3D 变换的信息。