css3常用属性之动画示例 实现3D立方体旋转特效

参考博客 周全http://www.cnblogs.com/jc535201285/p/6519693.html

参考网址:http://www.w3cschool.cn/css3/rvwu5flo.html

主页代码:

<body>

<div class="rect-wrap">   <!--舞台元素,设置perspective,让其子元素获得透视效果。-->
    <div class="container">   <!-- 容器,设置transform-style: preserve-3d,让其子元素在3D空间呈现-->
        <div class="top slide"> <img  class="tu" src="images/1.jpg"/></div>   <!--立方体的六个面-->
        <div class="bottom slide"><img  class="tu" src="images/2.jpg"/></div>
        <div class="left slide"><img  class="tu" src="images/3.jpg"/></div>
        <div class="right slide"><img  class="tu" src="images/6.jpg"/></div>
        <div class="front slide"><img  class="tu" src="images/10.jpg"/></div>
        <div class="back slide"><img  class="tu" src="images/7.jpg"/></div>
    </div>
</div>
</body>

  样式表:

<style type="text/css">
.rect-wrap {
    position: relative;
    perspective: 1600px;
}
.container {
    width: 800px;
    height: 800px;
    transform-style: preserve-3d;
    transform-origin: 50% 50% 200px;    /*设置3d空间的原点在平面中心再向Z轴移动200px的位置*/
}
.slide {
    width: 400px;
    height: 400px;
    position: absolute;  //定位
}
.top {
    left: 200px;
    top: -200px;
    transform: rotateX(-90deg);
    transform-origin: bottom;
    background-color:#FF9;
}
.bottom {
    left: 200px;
    bottom: -200px;
    transform: rotateX(90deg);
    transform-origin: top;
    background-color:#6FF;
}
.left {
    left: -200px;
    top: 200px;
    transform: rotateY(90deg);
    transform-origin: right;
    background-color:#9F6;
}
.right {
    left: 600px;
    top: 200px;
    transform: rotateY(-90deg);
    transform-origin: left;
    background-color:#33F;
	
}
.front {
    left: 200px;
    top: 200px;
    transform: translateZ(400px);
    background-color:#96C; /*立方体前面正对着屏幕,所以不用旋转,只需向Z轴前移动距离*/
     
}
.back {
    left: 200px;
    top: 200px;
    transform: translateZ(0);
    background-color:#69F;  /*立方体后面正对着屏幕,所以不用旋转,只需向Z轴后移动距离*/
}
@keyframes rotate-frame {
    0% {
        transform: rotateX(0deg) rotateY(0deg);
    }
    10% {
        transform: rotateX(0deg) rotateY(180deg);
    }
    20% {
        transform: rotateX(-180deg) rotateY(180deg);
    }
    30% {
        transform: rotateX(-360deg) rotateY(180deg);
    }
    40% {
        transform: rotateX(-360deg) rotateY(360deg);
    }
    50% {
        transform: rotateX(-180deg) rotateY(360deg);
    }
    60% {
        transform: rotateX(90deg) rotateY(180deg);
    }
    70% {
        transform: rotateX(0) rotateY(180deg);
    }
    80% {
        transform: rotateX(90deg) rotateY(90deg);
    }
    90% {
        transform: rotateX(90deg) rotateY(0);
    }
    100% {
        transform: rotateX(0) rotateY(0);
    }
}
.container{
    animation: rotate-frame 30s linear infinite;
}

.tu{
	width:400px;
	height:400px;
	
	}

</style>

  效果图示:

 

转载于:https://www.cnblogs.com/bhmmlxieliming/p/6527290.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在iOS上使用CSS实现3D立方体旋转可以通过使用CSS3的transform属性和perspective属性实现。以下是一个简单的例子: HTML代码: ``` <div class="cube"> <div class="side">1</div> <div class="side">2</div> <div class="side">3</div> <div class="side">4</div> <div class="side">5</div> <div class="side">6</div> </div> ``` CSS代码: ``` .cube { width: 100px; height: 100px; position: relative; transform-style: preserve-3d; transition: transform 1s; perspective: 800px; } .side { position: absolute; width: 100px; height: 100px; line-height: 100px; text-align: center; font-size: 48px; color: white; background: black; opacity: 0.8; border: 2px solid white; } .side:nth-child(1) { transform: rotateY(0deg) translateZ(50px); } .side:nth-child(2) { transform: rotateY(90deg) translateZ(50px); } .side:nth-child(3) { transform: rotateY(180deg) translateZ(50px); } .side:nth-child(4) { transform: rotateY(-90deg) translateZ(50px); } .side:nth-child(5) { transform: rotateX(90deg) translateZ(50px); } .side:nth-child(6) { transform: rotateX(-90deg) translateZ(50px); } .cube:hover { transform: rotateX(360deg) rotateY(360deg); } ``` 在这个例子中,我们使用了一个包含6个面的div元素,并使用transform属性将其转换为3D立方体。然后,我们使用nth-child选择器来为每个面设置不同的旋转角度。最后,我们使用hover伪类选择器来实现鼠标悬停时的动画效果。 注意:该代码只能在支持CSS3的浏览器上运行,如Chrome、Safari等。在移动端设备上也可以使用该代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值