【CSS3】CSS3 3D 转换示例 - 3D 旋转木马 ( @keyframes 规则 定义动画 | 为 盒子模型 应用动画 | 开启透视视图 | 设置 3D 呈现样式 )
/* 定义3D舞台 */
.carousel-3d {
width: 300px;
height: 200px;
perspective: 600px;
}
/* 定义每个3D盒子 */
.carousel-3d .box {
width: 100%;
height: 100%;
position: absolute;
transform-style: preserve-3d;
transition: transform 1s;
}
/* 定义6个面 */
.carousel-3d .box .side {
width: 100%;
height: 100%;
position: absolute;
background: #ccc;
border: 1px solid #000;
}
/* 动画:旋转3D盒子 */
@keyframes rotateBox {
0% {
transform: rotateY(0deg);
}
100% {
transform: rotateY(360deg);
}
}
/* 应用动画到盒子 */
.carousel-3d .box {
animation: rotateBox 10s linear infinite;
}
这段代码定义了一个简单的3D旋转木马效果,通过@keyframes
规则创建了一个名为rotateBox
的动画,使得盒子绕Y轴连续旋转。每个盒子都是绝对定位的,并且通过transform-style: preserve-3d;
保留3D效果。通过设置perspective
属性给人一种深度感,同时transition
属性用于定义盒子变化时的过渡效果。
评论已关闭